DE112011104325B4 - Computerlesbare Speichermedien zum Verschlüsseln und Entschlüsseln einer virtuellen Platte - Google Patents

Computerlesbare Speichermedien zum Verschlüsseln und Entschlüsseln einer virtuellen Platte Download PDF

Info

Publication number
DE112011104325B4
DE112011104325B4 DE112011104325.2T DE112011104325T DE112011104325B4 DE 112011104325 B4 DE112011104325 B4 DE 112011104325B4 DE 112011104325 T DE112011104325 T DE 112011104325T DE 112011104325 B4 DE112011104325 B4 DE 112011104325B4
Authority
DE
Germany
Prior art keywords
virtual disk
section
disk image
decryption
image
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
DE112011104325.2T
Other languages
English (en)
Other versions
DE112011104325T5 (de
Inventor
Jacques Fontignie
Claudio Marinelli
Marc Vuilleumier Stueckelberg
Luigi Pichetti
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 DE112011104325T5 publication Critical patent/DE112011104325T5/de
Application granted granted Critical
Publication of DE112011104325B4 publication Critical patent/DE112011104325B4/de
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/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
    • 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
    • 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

Abstract

Computerlesbares Speichermedium (916), das maschinenausführbare Anweisungen enthält, die, wenn sie von einem Prozessor ausgeführt werden, den Prozessor dazu veranlassen, eine virtuelle Platte zu verschlüsseln; wobei die virtuelle Platte ein virtuelles Platten-Image aufweist; und wobei das Ausführen der maschinenausführbaren Anweisungen den Prozessor dazu veranlasst:- die virtuelle Platte zu empfangen (600);- die Größe der virtuellen Platte zu erhöhen (602);- einen Entschlüsselungs-Master-Bootdatensatz und ein Entschlüsselungsprogramm auf die virtuelle Platte zu schreiben (604);- mindestens einen Teil des virtuellen Platten-Image zu verschlüsseln (606), wobei das Entschlüsselungsprogramm entschlüsselungsmaschinenlesbare Anweisungen aufweist, um das mindestens partiell verschlüsselte virtuelle Platten-Image gemäß einem Verschlüsselungsschlüssel (944) zu entschlüsseln.wobei das virtuelle Platten-Image in einen ersten (406) und zweiten Teil (408) unterteilt wird, wobei der zweite Teil des virtuellen Platten-Image in einem dritten Abschnitt (418) der virtuellen Platte gespeichert wird, wobei das Ausführen der Anweisungen den Prozessor außerdem dazu veranlasst, den ersten Teil des virtuellen Platten-Image in einen vierten Abschnitt (420) der virtuellen Platte zu kopieren;wobei der Entschlüsselungs-Master-Bootdatensatz in einen ersten Abschnitt (414) der virtuellen Platte geschrieben wird, wobei das Entschlüsselungsprogramm in einen zweiten Abschnitt (416) der virtuellen Platte geschrieben wird, wobei der erste Teil des virtuellen Platten-Image aus dem ersten und zweiten Abschnitt der virtuellen Platte kopiert wird; wobei das Ausführen der Anweisungen den Prozessor außerdem dazu veranlasst, den ersten (406') und zweiten (408') Teil der virtuellen Platte mindestens partiell zu verschlüsseln, undwobei die Größe der virtuellen Platte erhöht wird, um den vierten Abschnitt der virtuellen Platte und einen fünften Abschnitt (422) der virtuellen Platte zu erzeugen, wobei die Größe des fünften Abschnitts größer ist als die des zweite Abschnitts und wobei die kombinierte Größe des ersten und zweiten Abschnitts geringer oder gleich der Größe des vierten Abschnitts ist.

Description

  • Gebiet der Erfindung
  • Die Erfindung betrifft Virtualisierungs-Software für Computersysteme. Insbesondere betrifft die Erfindung den Schutz des Inhalts einer virtuellen Platte durch Verschlüsseln und Entschlüsseln der virtuellen Platte.
  • Hintergrund
  • Die Einrichtung oder Installation einer großen Zahl von Servern und Computersystemen mit spezifischer Software und spezifischen Anwendungen mithilfe herkömmlicher physischer Ressourcen ist immer kostspieliger geworden, in den letzten Jahren ist dieser Prozess durch den Einsatz von Virtualisierungs-Technologien vereinfacht worden, die virtuelle Platten oder Betriebssysteme mit vorkonfigurierten Softwarepaketen und Systemkonfigurationen bereitstellen.
  • Wenn eine große Zahl gleich konfigurierter Server benötigt wird, kann dieselbe virtuelle Platte immer wieder verwendet werden. Virtuelle Platten-Images können über das Internet verteilt werden. Doch die Pakete, die das virtuelle Platten-Image enthalten, können kritische Daten und Lizenzen enthalten. Zudem muss die unbefugte Verwendung des virtuellen Platten-Image verhindert werden. Gegenwärtig wird das ganze Platten-Image vor der Verteilung verschlüsselt.
  • Derzeit gibt es bereits eine Reihe von Dokumenten, die sich mit der Verarbeitung von virtullen Platten auseinandersetzt. Das Dokument EP 1 679 573 A1 beschreibt ein Verfahren für eine Aktualisierung von Speichern halten, die in einem Speicher eines Datenverarbeitungssystems gespeichert sind. Die Verarbeitung geschieht blockweise und die Daten werden zusätzlich durch Integritätsdaten geschützt.
  • Das Dokument WO 2008/049008 A2 beschreibt eine Registrierung und einen Zugriff auf virtuelle Systeme in einem „managed“ System. Dabei wird eine Erlaubnis für eine Ausführung von virtuellen Maschinen mithilfe von Compliance-Regeln kontrolliert. Das Verfahren lässt sich auf virtuelle Maschinen, virtuelle Vorrichtungen und virtuelle Anwendungen ausdehnen.
  • Dabei ist festzustellen, dass keine der bekannten Techniken eine elegante Verteilung von virtuellen Platten in einem Netzwerk von Computern und eine anschließende Anpassung dieser Platten an die lokalen Bedürfnisse adressiert.
  • Deshalb besteht ein Bedarf dafür, die Verteilung von verschlüsselten virtuellen Platten zu verbessern, die verschlüsselten Teile der virtuellen Platte schneller entschlüsseln und so einer regulären Verwendung durch eine virtuelle Maschine elegant zugänglich zu machen.
  • Kurzbeschreibung
  • Diese Aufgabe wird erfindungsgemäß durch die Gegenstände der unabhängigen Ansprüche gelöst. Weitere Ausführungsbeispiele ergeben sich aus den jeweiligen abhängigen Ansprüchen.
  • Die Erfindung stellt ein computerlesbares Speichermedium bereit, das Anweisungen zum Verschlüsseln einer virtuellen Platte enthält, ein computerlesbares Speichermedium, das Anweisungen zum Entschlüsseln einer verschlüsselten virtuellen Platte enthält, und ein computerlesbares Speichermedium mit einer verschlüsselten virtuellen Platte, das die virtuelle Platte in den unabhängigen Ansprüchen enthält. Ausführungsformen werden in den abhängigen Ansprüchen gegeben.
  • Das Verschlüsseln des gesamten virtuellen Platten-Image vor der Verteilung hat mehrere Nachteile. Erstens kann ein virtuelles Platten-Image, das in einem Format vorliegt, nicht ohne Entschlüsselung in ein anderes umgewandelt werden. Zweitens ist ein Administrator erforderlich, um das virtuelle Platten-Image zu entschlüsseln und zu installieren. Dies könnte ein Problem darstellen, da dem Administrator ein Verschlüsselungsschlüssel oder ein Berechtigungsnachweis für die Entschlüsselung des virtuellen Platten-Image bereitgestellt werden muss. Es ist ungewiss, ob der Endbenutzer oder Anbieter des virtuellen Plattensystems die Weitergabe des Verschlüsselungsschlüssels oder Berechtigungsnachweises an den Administrator wünscht.
  • Ausführungsformen der Erfindung können diese und weitere Probleme lösen, indem sie auf dem verschlüsselten virtuellen Platten-Image einen Verschlüsselungs-Master-Bootdatensatz anordnen, zusammen mit einem Entschlüsselungsprogramm zum Entschlüsseln eines mindestens partiell verschlüsselten virtuellen Platten-Image. Der Verschlüsselungs-Master-Bootdatensatz ist ein Master-Bootdatensatz, der zum Booten der virtuellen Maschine verwendet wird. Die virtuelle Maschine entschlüsselt das verschlüsselte virtuelle Platten-Image dann mithilfe des Entschlüsselungsprogramms und des kryptografischen Berechtigungsnachweises selbst. Dadurch entfällt die Notwendigkeit, dem Anbieter kryptografische Berechtigungsnachweise bereitzustellen.
  • Ausführungsformen der Erfindung können den Vorteil haben, dass die virtuelle Platte von der virtuellen Platte aus verschlüsselt oder entschlüsselt werden kann. Ausführungsformen der Erfindung können den Vorteil haben, dass das Verfahren eingerichtet werden kann, um nur benutzte Blöcke zu verschlüsseln. Dies führt zu einer schnelleren Verschlüsselung und zu einer Verringerung der zu verschlüsselnden Datenmenge. Ausführungsformen der Erfindung können den Vorteil haben, dass eine virtuelle Platte während der Verarbeitung verschlüsselt und entschlüsselt werden kann.
  • Zudem können nur Abschnitte der virtuellen Platte verschlüsselt werden. Zum Beispiel können die Blöcke der virtuellen Platte selektiv verschlüsselt werden. Die Abschnitte der virtuellen Platte, die Daten oder Datensätze enthalten, die für ein bestimmtes Format der virtuellen Platte spezifisch sind, können unverschlüsselt gelassen werden. Dies erlaubt die Umwandlung der virtuellen Platte ohne Entschlüsselung der virtuellen Platte.
  • Ein computerlesbares Speichermedium, wie hierein verwendet, umfasst jedes materielle Speichermedium, das Anweisungen speichern kann, die von einem Prozessor einer Computereinheit ausgeführt werden können. Das computerlesbare Speichermedium kann als computerlesbares nichtflüchtiges Speichermedium bezeichnet werden. Das computerlesbare Speichermedium kann auch als materielles computerlesbares Medium bezeichnet werden. In manchen Ausführungsformen kann ein computerlesbares Speichermedium auch in der Lage sein, Daten zu speichern, auf welche vom Prozessor der Computereinheit zugegriffen werden kann.
  • Zu Beispielen für computerlesbare Speichermedien gehören, ohne auf diese beschränkt zu sein: eine Diskette, ein magnetisches Festplattenlaufwerk, eine Solid-State-Festplatte, Flash-Speicher, ein USB-Thumb-Drive, Direktzugriffsspeicher (RAM), Nur-Lese-Speicher (ROM), eine optische Platte, eine magnetooptische Platte und die Registerdatei des Prozessors. Zu Beispielen für optische Platten gehören Compact Discs (CDs) und Digital Versatile Discs (DVDs) wie zum Beispiel CD-ROM-, CD-RW-, CD-R-, DVD-ROM-, DVD-RW- oder DVD-R-Discs. Der Begriff computerlesbares Speichermedium bezieht sich auch auf Aufzeichnungsmedien verschiedener Art, auf welche von der Computereinheit über ein Netzwerk oder eine Datenübertragungsverbindung zugegriffen werden kann. Zum Beispiel kann über einen Modem, über das Internet oder über ein lokales Netzwerk auf Daten zugegriffen werden.
  • Ein Computerhauptspeicher (computer memory) ist ein Beispiel für ein computerlesbares Speichermedium. Bei einem Computerhauptspeicher handelt es sich um einen Speicher, auf welchen ein Prozessor direkt zugreifen kann. Zu Beispielen für Computerhauptspeicher gehören, ohne auf diese beschränkt zu sein: Direktzugriffspeicher (RAM), Register und Registerdateien.
  • Ein Computermassenspeicher (computer storage) ist ein anderes Beispiel für ein computerlesbares Speichermedium. Bei einem Computermassenspeicher handelt es sich um ein nichtflüchtiges computerlesbares Speichermedium. Zu Beispielen für Computermassenspeicher gehören, ohne auf diese beschränkt zu sein: ein Festplattenlaufwerk, ein USB-Thumb-Drive, ein Diskettenlaufwerk, eine Smartcard, eine DVD, eine CD-ROM, und ein Solid-State-Festplattenlaufwerk. In manchen Ausführungsformen kann der Computermassenspeicher auch der prozessornahe Computerspeicher sein oder umgekehrt.
  • Eine Computereinheit oder ein Computersystem, wie hierin verwendet, bezieht sich auf jede Einheit, die einen Prozessor aufweist. Ein Prozessor, wie hierin verwendet, umfasst eine elektronische Komponente, die in der Lage ist, ein Programm oder eine maschinenausführbare Anweisung auszuführen. Bezugnahmen auf die Computereinheit, die „einen Prozessor“ aufweist, sind so zu interpretieren, dass sie mehr als einen Prozessor enthalten kann. Auch der Begriff Computereinheit ist so zu interpretieren, dass er sich möglicherweise auf eine Sammlung oder ein Netzwerk von Computereinheiten bezieht, die jeweils einen Prozessor aufweisen. Die Anweisungen vieler Programme werden von mehreren Prozessoren ausgeführt, die sich in derselben Computereinheit befinden können oder sogar über mehrere Computereinheiten hinweg verteilt sein können.
  • Eine Benutzerschnittstelle, wie hierin verwendet, ist eine Schnittstelle, die einem Benutzer (user) oder einem Anbieter (operator) die Interaktion mit einem Computer oder Computersystem erlaubt. Eine Benutzerschnittstelle kann dem Anbieter Information oder Daten bereitstellen und/oder vom Anbieter Information oder Daten empfangen. Die Anzeige von Daten oder Information auf einem Bildschirm oder einer grafischen Benutzerschnittstelle ist ein Beispiel für die Bereitstellung von Information an einen Anbieter. Der Empfang von Daten über eine Tastatur, eine Maus, eine Rollkugel, ein Touchpad, einen Stift, ein Grafiktablett, einen Joystick, ein Gamepad, eine Webcam, ein Headset, Schalthebel, ein Lenkrad, Pedale, einen Cyber-Handschuh, ein Dancepad, eine Fernsteuerung und einen Beschleunigungsmesser sind alles Beispiele für den Empfang von Information oder Daten von einem Anbieter.
  • Virtualisierungs-Software, ein Virtualisierungs-Programm und ein Virtualisierungs-Modul, wie hierin verwendet, beziehen sich alle auf Software oder auf einem Computer ausführbare Anweisungen, die einem Computersystem das Ausführen eines virtuellen Computersystems erlauben. Eine virtuelle Maschine oder ein virtuelles Computersystem, wie hierin verwendet, umfasst ein Computersystem, das durch Software, die auf einem Computersystem ausgeführt wird, virtuell realisiert oder simuliert wird.
  • Ein Verschlüsselungsschlüssel oder Verschlüsselungs-Berechtigungsnachweis, wie hierin verwendet, umfasst einen Schlüssel, einen Berechtigungsnachweis oder ein Kennwort, die von einem Entschlüsselungsalgorithmus verwendet werden können, um eine Datendatei zu entschlüsseln.
  • Eine virtuelle Platte, wie hierin verwendet, umfasst Daten, die von einem Virtualisierungs-Programm als virtuelles Platten-Image verwendet werden können. Eine virtuelle Platte kann ein Dateisystem enthalten, auf welches vom Virtualisierungs-System oder virtuellen System zugegriffen werden kann. Eine virtuelle Platte kann auch ein bootfähiges Betriebssystem enthalten.
  • In einem Ausführungsbeispiel wird durch die die Erfindung ein computerlesbares Speichermedium vorgesehen, das maschinenausführbare Anweisungen enthält, die, wenn sie von einem Prozessor ausgeführt werden, einen Prozessor dazu veranlassen, eine virtuelle Platte zu verschlüsseln. Die virtuelle Platte weist ein virtuelles Platten-Image auf. Das virtuelle Platten-Image ist ein Abbild eines bestehenden Plattendateisystems oder eines Plattendateisystems, das zum Erzeugen des virtuellen Platten-Image erstellt wird. Das Ausführen der maschinenausführbaren Anweisungen veranlasst den Prozessor dazu, die virtuelle Platte zu empfangen. Das Ausführen der maschinenausführbaren Anweisungen veranlasst den Prozessor außerdem dazu, die Größe der virtuellen Platte zu erhöhen. Die virtuelle Platte kann im Wesentlichen eine Datei sein, die auf dem computerlesbaren Speichermedium oder einem anderen computerlesbaren Speichermedium gespeichert wird. Die Größe der virtuellen Platte kann erhöht werden, indem am Anfang oder am Ende der virtuellen Platte Blöcke hinzugefügt werden. Das Ausführen der maschinenausführbaren Anweisungen veranlasst den Prozessor außerdem dazu, einen Entschlüsselungs-Master-Bootdatensatz und ein Entschlüsselungsprogramm in die virtuelle Platte zu schreiben. Der Entschlüsselungs-Master-Bootdatensatz ist ein Master-Bootdatensatz, der einen virtuellen Computer oder ein virtuelles Computersystem startet, wenn das virtuelle Platten-Image benutzt wird. Der Entschlüsselungs-Master-Bootdatensatz erlaubt dem virtuellen Computersystem, das Entschlüsselungsprogramm zum Entschlüsseln der virtuellen Platte auszuführen. Das Ausführen der maschinenausführbaren Anweisungen veranlasst den Prozessor außerdem dazu, mindestens einen Abschnitt des virtuellen Platten-Image zu verschlüsseln. Das Entschlüsselungsprogramm weist entschlüsselungsmaschinenlesbare Anweisungen auf, um das mindestens partiell verschlüsselte virtuelle Platten-Image gemäß einem Verschlüsselungsschlüssel zu entschlüsseln. Das virtuelle Platten-Image wird so verschlüsselt, dass das virtuelle Platten-Image mit dem Entschlüsselungsprogramm gemäß dem Verschlüsselungsschlüssel entschlüsselt werden kann.
  • In manchen Ausführungsformen wird das gesamte virtuelle Platten-Image verschlüsselt. In anderen Ausführungsformen werden nur bestimmte Abschnitte des virtuellen Platten-Image verschlüsselt. Wenn zum Beispiel Abschnitte der virtuellen Platte nicht benutzt werden, brauchen diese Abschnitte des Platten-Image nicht verschlüsselt zu werden. Es kann auch ermittelt werden, ob bestimmte Abschnitte der virtuellen Platte sensible Information enthalten, deren Schutz durch Verschlüsselung wünschenswert ist, zum Beispiel Anwendungsprogramme oder sensible Daten. Das Entschlüsseln des virtuellen Platten-Image kann beschleunigt werden, indem Abschnitte der virtuellen Platte, die geschützt werden müssen, auf selektive Weise verwendet werden und Abschnitte, die nicht geschützt zu werden brauchen, nicht verschlüsselt werden.
  • Ausführungsformen der Erfindung haben mehrere Vorteile. Zum Beispiel ermöglicht der Zusatz des Entschlüsselungs-Master-Bootdatensatzes zur virtuellen Platte und das Entschlüsselungsprogramm es einem Endbenutzer, das Entschlüsseln des virtuellen Platten-Image durchzuführen. Dadurch entfällt für einen Administrator die Notwendigkeit, diese Aufgabe durchzuführen.
  • In einer anderen Ausführungsform wird das virtuelle Platten-Image in einen ersten und zweiten Teil unterteilt. Die virtuelle Platte wird in einen ersten, zweiten, dritten, vierten und fünften Abschnitt unterteilt. Das virtuelle Platten-Image umfasst am Anfang den ersten, zweiten und dritten Abschnitt der virtuellen Platte. Der zweite Teil des virtuellen Platten-Image wird in einem dritten Abschnitt der virtuellen Platte gespeichert. Das Ausführen der Anweisungen veranlasst den Prozessor außerdem dazu, den ersten Teil des virtuellen Platten-Image in einen vierten Abschnitt der virtuellen Platte zu kopieren. Der erste Teil des virtuellen Platten-Image wird aus dem ersten und zweiten Abschnitt der virtuellen Platte in den vierten Abschnitt der virtuellen Platte kopiert oder verschoben. Der Entschlüsselungs-Master-Bootdatensatz wird in den ersten Abschnitt der virtuellen Platte geschrieben. Wenn die virtuelle Platte in ein virtuelles System geladen wird und die virtuelle Platte vom virtuellen System gebootet wird, veranlasst der Entschlüsselungs-Master-Bootdaten das virtuelle System dazu, das Entschlüsselungsprogramm auszuführen.
  • Das Entschlüsselungsprogramm wird in den zweiten Abschnitt der virtuellen Platte geschrieben. Wie oben erwähnt, wird der erste Teil des virtuellen Platten-Image aus dem ersten und zweiten Abschnitt der virtuellen Platte kopiert. Der erste Teil des virtuellen Platten-Image wird aus dem ersten und zweiten Abschnitt der virtuellen Platte kopiert, bevor der Entschlüsselungs-Master-Bootdatensatz und das Entschlüsselungsprogramm jeweils in den ersten und zweiten Abschnitt der virtuellen Platte geschrieben werden. Das Ausführen der Anweisungen veranlasst den Prozessor außerdem dazu, den ersten und zweiten Teil der virtuellen Platte mindestens partiell zu verschlüsseln. Die Größe der virtuellen Platte wird erhöht, um den vierten Abschnitt der virtuellen Platte und einen fünften Abschnitt der virtuellen Platte zu erzeugen. Die Größe des fünften Abschnitts ist größer oder gleich dem des zweiten Abschnitts. Die kombinierte Größe des ersten und zweiten Abschnitts ist geringer oder gleich der Größe des vierten Abschnitts. Diese Ausführungsform der Erfindung kann vorteilhaft sein, da der Entschlüsselungs-Master-Bootdatensatz im ersten Abschnitt liegt und das virtuelle System dazu veranlasst, das Entschlüsselungsprogramm zu booten.
  • In einer anderen Ausführungsform wird der erste Teil des virtuellen Platten-Image zusammenhängend verschlüsselt. In dieser Ausführungsform wird der gesamte erste Teil des virtuellen Platten-Image als einzelne verschlüsselte Datendatei verschlüsselt.
  • In einer anderen Ausführungsform wird der zweite Teil des virtuellen Platten-Image zusammenhängend verschlüsselt. In dieser Ausführungsform wird der zweite Teil des virtuellen Platten-Image als einzelne Datendatei verschlüsselt.
  • In einer anderen Ausführungsform wird das virtuelle Platten-Image in Blöcke unterteilt. Wie hierin verwendet, ist ein Block ein Abschnitt oder ein Teilabschnitt von Daten einer Platte oder eines virtuellen Platten-Image. Die Daten in einem Block sind durch die Platte oder die virtuelle Platte adressierbar. Die Blöcke werden gemäß einer vorbestimmten Blockverschlüsselungsliste selektiv verschlüsselt. Die Blockverschlüsselungsliste ist eine Liste von Blöcken, die während der Verschlüsselung des virtuellen Platten-Image zu verschlüsseln sind. Zum Beispiel kann ein Anbieter bestimmen, welche Blöcke des virtuellen Platten-Image Daten enthalten, deren Schutz durch Verschlüsselung erwünscht ist. Diese Blöcke können zum Beispiel sensible Daten oder Information enthalten. Diese Blöcke können gleichermaßen auch Anwendungen enthalten, für die eine Lizenz erworben werden muss. Wenn das Programm über das Internet übertragen wird, kann es wünschenswert sein, die ausführbare Version des Codes oder Daten zu schützen.
  • In einer anderen Ausführungsform wird das virtuelle Platten-Image in Blöcke unterteilt. Das Ausführen der Anweisungen veranlasst den Prozessor dazu, jeden der Blöcke zu prüfen und eine Liste von unbenutzten Blöcken zu erstellen. Bestimmte Blöcke werden nur verschlüsselt, wenn sie nicht in der Liste unbenutzter Blöcke gefunden werden. Diese Ausführungsform ist besonders vorteilhaft, weil das computerlesbare Speichermedium die Verschlüsselung unbenutzter Blöcke vermeidet. Da die Blöcke nicht benutzt werden, ist deren Schutz nicht notwendig. In manchen virtuellen Dateisystemen können unbenutzte Daten zum Dateisystem gehören, aber nicht benutzt werden. Die virtuelle Platte kann verkleinert werden, indem diese Teile des Dateisystems nicht verschlüsselt werden.
  • Durch die vorgenannten Ausführungsformen des computerlesbaren Speichermediums werden auch andere Aspekte der Erfindung vorgesehen. Zum Beispiel wird durch die Erfindung ein Computersystem vorgesehen, das die maschinenlesbaren Anweisungen enthält oder aufweist, die auf einem computerlesbaren Speichermedium gemäß einer Ausführungsform der Erfindung enthalten sind. Gleichermaßen veranlasst das Ausführen der maschinenausführbaren Anweisungen den Prozessor dazu, verschiedene Schritte oder Aktionen durchzuführen, die auch ein Verfahren und computerimplementiertes Verfahren bereitstellen. Durch die ausführbaren Anweisungen auf dem computerlesbaren Speichermedium ergibt sich auch ein Computerprogrammprodukt und/oder ein Computersystem.
  • In einem weiteren Aspekt wird durch die Erfindung ein computerlesbares Speichermedium vorgesehen, das maschinenausführbare Anweisungen enthält, die, wenn sie von einem Prozessor ausgeführt werden, den Prozessor dazu veranlassen, eine verschlüsselte virtuelle Platte zu entschlüsseln. Die virtuelle Platte weist einen Entschlüsselungs-Master-Bootdatensatz, ein Entschlüsselungsprogramm und ein mindestens partiell verschlüsseltes virtuelles Platten-Image auf. Das Entschlüsselungsprogramm weist entschlüsselungsmaschinenlesbare Anweisungen auf, um das mindestens partiell verschlüsselte virtuelle Platten-Image gemäß einem Verschlüsselungsschlüssel zu entschlüsseln. Das Ausführen der maschinenausführbaren Anweisungen veranlasst den Prozessor dazu, die verschlüsselte virtuelle Platte zu empfangen.
  • Das Ausführen der maschinenausführbaren Anweisungen veranlasst den Prozessor außerdem dazu, mit dem Entschlüsselungs-Master-Bootdatensatz eine virtuelle Maschine zu booten. Das Ausführen der maschinenausführbaren Anweisungen veranlasst den Prozessor außerdem dazu, den Verschlüsselungsschlüssel zu empfangen. Die Reihenfolge des Empfangs des Verschlüsselungsschlüssels ist nicht kritisch. Zum Beispiel kann der Prozessor den Verschlüsselungsschlüssel an jedem Punkt vor dem Entschlüsseln des virtuellen Platten-Image empfangen werden. Das Ausführen der maschinenausführbaren Anweisungen veranlasst den Prozessor außerdem dazu, das mindestens partiell verschlüsselte virtuelle Platten-Image gemäß dem Verschlüsselungsschlüssel und dem Entschlüsselungsprogramm zu entschlüsseln. Die maschinenausführbaren Anweisungen veranlassen den Prozessor dazu, die virtuelle Maschine zu booten, und die virtuelle Maschine bootet das Betriebssystem auf der verschlüsselten virtuellen Platte über den Entschlüsselungs-Master-Bootdatensatz. Dies veranlasst die virtuelle Maschine dann dazu, das Entschlüsselungsprogramm auszuführen. Dann entschlüsselt das Entschlüsselungsprogramm das mindestens partiell verschlüsselte virtuelle Platten-Image. Sowohl der Verschlüsselungsschlüssel als auch das Entschlüsselungsprogramm werden zum Entschlüsseln des mindestens partiell verschlüsselten virtuellen Platten-Image benötigt.
  • In einer anderen Ausführungsform wird die Entschlüsselung des mindestens partiell verschlüsselten virtuellen Platten-Image während der Implementierung der virtuellen Maschine durchgeführt. Nach dem aktuellen Stand der Technik empfängt ein Administrator eine verschlüsselte virtuelle Platte, und der Administrator ist für deren Entschlüsselung verantwortlich. Dies ist aber in vielen Fällen unerwünscht, da der Endbenutzer oder Anbieter der virtuellen Maschine für das Durchführen der Entschlüsselung auf einen Administrator angewiesen ist. Ausführungsformen der Erfindung können den Vorteil haben, dass der Endbenutzer oder Anbieter die Entschlüsselung selbst durchführen kann.
  • In einer anderen Ausführungsform weist die virtuelle Platte einen ersten Abschnitt auf, der den Entschlüsselungs-Master-Bootdatensatz enthält. Die virtuelle Platte weist außerdem einen zweiten Abschnitt auf, der das Entschlüsselungsprogramm enthält. Die virtuelle Platte weist außerdem einen dritten Abschnitt auf, der einen zweiten Teil des virtuellen Platten-Image enthält. Die virtuelle Platte weist außerdem einen vierten Abschnitt auf, der einen ersten Teil der virtuellen Platte enthält. Der erste Teil der virtuellen Platte kann in manchen Ausführungsformen einen Master-Bootdatensatz zum Booten eines Betriebssystems enthalten, das im virtuellen Platten-Image enthalten ist. Dieser Master-Bootdatensatz im vierten Abschnitt kann verwendet werden, um die virtuelle Maschine zu booten, sobald die Entschlüsselung der mindestens partiell verschlüsselten virtuellen Platte abgeschlossen ist.
  • Die virtuelle Platte weist einen fünften Abschnitt auf, der Speicherplatz enthält. Die Größe des fünften Abschnitts ist größer als der des zweiten Abschnitts. Die kombinierte Größe des ersten und zweiten Abschnitts ist geringer oder gleich der Größe des vierten Abschnitts. Die kombinierte Größe des ersten und zweiten Abschnitts ist geringer oder gleich der Größe des vierten Abschnitts.
  • Das mindestens partiell verschlüsselte Platten-Image wird entschlüsselt, indem der zweite Teil des virtuellen Platten-Image entschlüsselt wird. Das mindestens partiell verschlüsselte virtuelle Platten-Image wird außerdem entschlüsselt, indem das Entschlüsselungsprogramm in den fünften Abschnitt der virtuellen Platte kopiert wird. Das mindestens partiell verschlüsselte virtuelle Platten-Image wird entschlüsselt, indem ein Abschnitt des ersten Teils des virtuellen Platten-Image entschlüsselt wird.
  • Das mindestens partiell verschlüsselte virtuelle Platten-Image wird außerdem entschlüsselt, indem der entschlüsselte Abschnitt des ersten Teils des virtuellen Platten-Image in den zweiten Abschnitt der virtuellen Platte kopiert wird. Das virtuelle Platten-Image wird außerdem entschlüsselt, indem der Rest des ersten Teils des virtuellen Platten-Image entschlüsselt wird. Das virtuelle Platten-Image wird außerdem entschlüsselt, indem der entschlüsselte Rest des ersten Teils des virtuellen Platten-Image in den ersten Abschnitt der virtuellen Platte kopiert wird. Das Durchführen der Entschlüsselung auf diese Weise kann den Vorteil haben, dass das Entschlüsseln an jedem Zeitpunkt unterbrochen werden kann. Zum Beispiel kann der fünfte Abschnitt eine Datendatei enthalten, die einen Status des Entschlüsselungsprozesses aufrechterhält.
  • In einer anderen Ausführungsform veranlasst das Ausführen der Anweisungen nach dem Kopieren des entschlüsselten Rests des ersten Teils des virtuellen Platten-Image in den ersten Abschnitt der virtuellen Platte den Prozessor außerdem dazu, Daten im vierten und fünften Abschnitt der virtuellen Platte zu löschen.
  • In einer anderen Ausführungsform veranlasst das Ausführen der Anweisungen nach dem Entschlüsseln des mindestens partiell verschlüsselten virtuellen Platten-Image die virtuelle Maschine außerdem dazu, neu zu booten.
  • Durch die vorgenannten Ausführungsformen des computerlesbaren Speichermediums werden auch andere Aspekte der Erfindung vorgesehen. Zum Beispiel ergibt sich durch die Erfindung ein Computersystem, das die maschinenlesbaren Anweisungen enthält oder aufweist, die auf einem computerlesbaren Speichermedium gemäß einer Ausführungsform der Erfindung enthalten sind. Gleichermaßen veranlasst das Ausführen der maschinenausführbaren Anweisungen den Prozessor dazu, verschiedene Schritte oder Aktionen durchzuführen, die auch zu einem Verfahren und auf einem Computer implementierte Verfahren führen. Durch die ausführbaren Anweisungen auf dem computerlesbaren Speichermedium ergibt sich auch ein Computerprogrammprodukt und/oder ein Computersystem.
  • In einem anderen Aspekt wird durch die Erfindung ein computerlesbares Speichermedium mit einer verschlüsselten virtuellen Platte vorgesehen, das eine virtuelle Platte enthält. Die virtuelle Platte weist einen Entschlüsselungs-Master-Bootdatensatz, ein Entschlüsselungsprogramm und ein mindestens partiell verschlüsseltes virtuelles Platten-Image auf. Das Entschlüsselungsprogramm weist maschinenausführbare Anweisungen auf, um die mindestens partiell verschlüsselte virtuelle Platte gemäß einem Verschlüsselungsschlüssel zu entschlüsseln. Mit anderen Worten, zum Entschlüsseln des mindestens partiell verschlüsselten virtuellen Platten-Image wird die Kombination aus dem Entschlüsselungsprogramm und dem Verschlüsselungsschlüssels verwendet.
  • Das Entschlüsselungsprogramm weist maschinenausführbare Anweisungen auf, die, wenn sie von einem Prozessor ausgeführt werden, den Prozessor dazu veranlassen, einen Verschlüsselungsschlüssel zu empfangen. In manchen Ausführungsformen kann die Eingabe des Verschlüsselungsschlüssels vom Entschlüsselungsprogramm angefordert werden, oder der Verschlüsselungsschlüssel kann von einem anderen Programm an das Entschlüsselungsprogramm übergeben werden. Zum Beispiel kann Virtualisierungs-Software zur Ausführung eines virtuellen Computersystems dem Entschlüsselungsprogramm einen Verschlüsselungsschlüssel übergeben. Die weitere Ausführung der maschinenausführbaren Anweisungen des Entschlüsselungsprogramms veranlasst den Prozessor dazu, das mindestens partiell verschlüsselte virtuelle Platten-Image gemäß dem Verschlüsselungsschlüssel und dem Entschlüsselungsprogramm zu entschlüsseln.
  • In einer anderen Ausführungsform weist die virtuelle Platte einen ersten Abschnitt auf, der den Entschlüsselungs-Master-Bootdatensatz enthält. Die virtuelle Platte weist außerdem einen zweiten Abschnitt auf, der das Entschlüsselungsprogramm enthält. Die virtuelle Platte weist außerdem einen dritten Abschnitt auf, der einen zweiten Teil des virtuellen Platten-Image enthält. Die virtuelle Platte weist außerdem einen vierten Abschnitt auf, der einen ersten Teil der virtuellen Platte enthält. Die virtuelle Platte weist außerdem einen fünften Abschnitt auf, der Speicherplatz enthält. Die Größe des fünften Abschnitts ist größer oder gleich dem des zweiten Abschnitts. Die kombinierte Größe des ersten und zweiten Abschnitts ist geringer oder gleich der Größe des vierten Abschnitts.
  • In einer anderen Ausführungsform wird das mindestens partiell verschlüsselte virtuelle Platten-Image entschlüsselt, indem der zweite Teil des virtuellen Platten-Image entschlüsselt wird. Die virtuelle Platte wird außerdem entschlüsselt, indem das Entschlüsselungsprogramm in den fünften Abschnitt der virtuellen Platte kopiert wird. Das virtuelle Platten-Image wird außerdem entschlüsselt, indem ein Abschnitt des ersten Teils des virtuellen Platten-Image entschlüsselt wird. Die virtuelle Platte wird außerdem entschlüsselt, indem der entschlüsselte Abschnitt des ersten Teils des virtuellen Platten-Image in den zweiten Abschnitt der virtuellen Platte kopiert wird. Die virtuelle Platte wird außerdem entschlüsselt, indem der entschlüsselte Abschnitt eines ersten Teils des virtuellen Platten-Image in den zweiten Abschnitt der virtuellen Platte kopiert wird. Das virtuelle Platten-Image wird außerdem entschlüsselt, indem der Rest des ersten Teils des virtuellen Platten-Image entschlüsselt wird. Das virtuelle Platten-Image wird außerdem entschlüsselt, indem der entschlüsselte Rest des ersten Teils des virtuellen Platten-Image in den ersten Abschnitt der virtuellen Platte kopiert wird.
  • In einer anderen Ausführungsform enthält die virtuelle Platte eine Entschlüsselungsstatus-Datendatei zum Speichern des Fortschritts der Entschlüsselung des mindestens partiell verschlüsselten virtuellen Platten-Image. Das Ausführen der maschinenausführbaren Anweisungen des Entschlüsselungsprogramms veranlasst den Prozessor außerdem dazu, die Entschlüsselungsstatus-Datendatei während der Entschlüsselung des mindestens partiell verschlüsselten virtuellen Platten-Image zu aktualisieren. Das Ausführen der maschinenausführbaren Anweisungen des Entschlüsselungsprogramms veranlasst den Prozessor außerdem dazu, die Entschlüsselungsstatus-Datendatei zu prüfen, wenn die Entschlüsselung des mindestens partiell verschlüsselten virtuellen Platten-Image beginnt. Wenn die Entschlüsselung ursprünglich unterbrochen wurde, kann die Entschlüsselung durch Prüfen des Status der Entschlüsselungsstatus-Datendatei an einem Zwischenpunkt gestartet werden.
  • In einer anderen Ausführungsform veranlasst das Ausführen der Anweisungen nach dem Kopieren des entschlüsselten Rests des ersten Teils des virtuellen Platten-Image in den ersten Abschnitt der virtuellen Platte den Prozessor außerdem dazu, Daten im vierten und fünften Abschnitt der virtuellen Platte zu löschen.
  • In einer anderen Ausführungsform veranlasst das Ausführen der Anweisungen nach dem Entschlüsseln des mindestens partiell verschlüsselten virtuellen Platten-Image außerdem eine das Entschlüsselungsprogramm ausführende virtuelle Maschine dazu, neu zu booten.
  • Durch die vorgenannten Ausführungsformen des computerlesbaren Speichermediums werden auch andere Aspekte der Erfindung vorgesehen Zum Beispiel wird durch die Erfindung ein Computersystem vorgesehen, das die maschinenlesbaren Anweisungen enthält oder aufweist, die auf einem computerlesbaren Speichermedium gemäß einer Ausführungsform der Erfindung enthalten sind. Gleichermaßen veranlasst das Ausführen der maschinenausführbaren Anweisungen den Prozessor dazu, verschiedene Schritte oder Aktionen durchzuführen, durch die sich auch ein Verfahren und auf einem Computer implementierte Verfahren ergeben. Die ausführbaren Anweisungen auf dem computerlesbaren Speichermedium führen auch zu einem Computerprogrammprodukt und/oder einem Computersystem.
  • Figurenliste
  • Im Folgenden werden bevorzugte Ausführungsformen der Erfindung Bezug nehmend auf die Zeichnungen lediglich auf beispielhafte Weise ausführlicher beschrieben, wobei:
    • 1 die Entschlüsselung einer virtuellen Platte 100 gemäß einer Ausführungsform der Erfindung veranschaulicht,
    • 2 ein Entschlüsselungsbeispiel während des Imports des virtuellen Systems veranschaulicht,
    • 3 die Entschlüsselung des virtuellen Platten-Image während der Implementierung veranschaulicht,
    • 4a bis 4e ein auf Blöcken beruhendes Verfahren zum Verschlüsseln eines virtuellen Platten-Image gemäß einer Ausführungsform der Erfindung veranschaulichen,
    • 5a bis 5d die Entschlüsselung des in 4a bis 4e verschlüsselten virtuellen Platten-Image veranschaulichen,
    • 6 einen Ablaufplan zeigt, der ein Verfahren zum Verschlüsseln eines virtuellen Platten-Image gemäß einer weiteren Ausführungsform der Erfindung veranschaulicht,
    • 7 einen Ablaufplan zeigt, der ein Verfahren zum Entschlüsseln eines virtuellen Platten-Image gemäß einer weiteren Ausführungsform der Erfindung veranschaulicht,
    • 8 einen Ablaufplan zeigt, der ein Verfahren zum Entschlüsseln eines virtuellen Platten-Image gemäß einer weiteren Ausführungsform der Erfindung veranschaulicht, und
    • 9 ein erstes Computersystem zur Verschlüsselung einer virtuellen Platte und ein zweites Computersystem zum Entschlüsselung einer virtuellen Platte veranschaulicht.
  • Ausführliche Beschreibung
  • Im Folgenden sind Elemente, die in diesen Figuren mit gleichen Bezugszeichen versehen sind, entweder vergleichbare Elemente oder führen eine äquivalente Funktion durch. Elemente, die bereits zuvor erläutert wurden, werden in den nachfolgenden Figuren nicht unbedingt erläutert, wenn die Funktion äquivalent ist.
  • 1 veranschaulicht die Entschlüsselung einer virtuellen Platte 100 gemäß einer Ausführungsform der Erfindung. Die virtuelle Platte 100 weist ein virtuelles Platten-Image 102 auf, das verschlüsselt ist, und ein Entschlüsselungsprogramm 104 zum Entschlüsseln des virtuellen Platten-Image 102. In 1 wird auch ein Computersystem 106 gezeigt, das Virtualisierungs-Software zum Ausführen von virtuellen Computersystemen oder Maschinen enthält. In 1 werden ein Anbieter 108 und ein Benutzer 110 gezeigt. 1 veranschaulicht die Maßnahmen, die bei Verwendung einer virtuellen Platte 100 gemäß einer Ausführungsform der Erfindung vom Anbieter 108 und vom Benutzer 110 ergriffen werden. Die in 1 gezeigten Schritte sind zuerst das Booten der virtuellen Platte und deren Entschlüsselung. Schritt 1 ist mit 112 beschriftet. In diesem Schritt speichert der Anbieter 108 die virtuelle Platte 100 auf dem Computersystem 106. In Schritt 2, 114 bootet der Benutzer 110 mit der Virtualisierungs-Software die virtuelle Maschine auf einem Computersystem 106. In Schritt 3, 116 bootet das Entschlüsselungsprogramm 104 und fordert vom Benutzer 110 einen Berechtigungsnachweis oder ein Kennwort an. In Schritt 4, 118 stellt der Benutzer 110 dem Entschlüsselungsprogramm 104 den Berechtigungsnachweis oder das Kennwort bereit. In Schritt 5, 120 entschlüsselt das Entschlüsselungsprogramm 104 das virtuelle Platten-Image 102 unter Verwendung des Berechtigungsnachweises oder Kennworts. In Schritt 6, 122 bootet die virtuelle Maschine neu, und die virtuelle Maschine wird vom entschlüsselten virtuellen Platten-Image 102 aus gebootet.
  • Bei der Verwendung einer virtuellen Platte 100 gemäß einer Ausführungsform der Erfindung sind zwei verschiedene Anwendungsszenarien möglich. Die Entschlüsselung kann während des Imports des virtuellen Platten-Image 102 erfolgen, oder die Entschlüsselung kann während der Implementierung des virtuellen Platten-Image 102 erfolgen. Wenn das virtuelle Platten-Image 102 während des Imports des virtuellen Systems entschlüsselt wird, sind die Berechtigungsnachweise dem Anbieter bekannt und er übergibt sie dem Programm oder den Programmen zur Verwaltung der virtuellen Systeme. Die Programme zur Verwaltung des virtuellen Systems importieren dann das Image und entschlüsseln es während der Verarbeitung. Bei der zweiten Möglichkeit, der Entschlüsselung während der Implementierung, sind die Berechtigungsnachweise dem Anbieter nicht bekannt, und die Images werden ohne Entschlüsselung importiert. Das virtuelle Platten-Image wird in einer Datenbank für virtuelle Systeme gespeichert und der Benutzer wird bei der Implementierung zur Eingabe des Berechtigungsnachweises aufgefordert.
  • 2 zeigt ein Entschlüsselungsbeispiel während des Importierens des virtuellen Systems. In 2 wird ein Computersystem 200 gezeigt, das als Server 202 für virtuelle System-Images dient. Der Server 202 für virtuelle System-Images liefert Abbilder von virtuellen Systemen, wenn dies von einem Anbieter 208 angefordert wird. Auch eine Datenablage 204 für virtuelle Platten wird vom Computersystem 200 gespeichert oder ist von diesem zugreifbar, wobei es sich hier um eine Datenablage für virtuelle Platten handelt, auf welche über den Server 202 für virtuelle Systemimages zugegriffen werden kann. Auch ein Entschlüsselungsmodul 206 ist vorhanden, das dem in 1 gezeigten Entschlüsselungsprogramm 104 entspricht. In Schritt 1 lädt der Anbieter 208 eine virtuelle Platte herunter. In Schritt 2, 212 fordert der Anbieter den Import der virtuellen Platte in das vom Server 202 für virtuelle System-Images verwaltete System an. In Schritt 3, 214 fordert der Server 202 für virtuelle System-Images vom Anbieter 208 einen Berechtigungsnachweis oder ein Kennwort an. In Schritt 4, 216 stellt der Anbieter 208 dem Server 202 für virtuelle System-Images die Berechtigungsnachweise oder Kennwörter bereit. Im Schritt 5 importiert der Server 202 für virtuelle System-Images das virtuelle Platten-Image von der virtuellen Platte und entschlüsselt das virtuelle Platten-Image während der Verarbeitung unter Verwendung der Berechtigungsnachweise oder Kennwörter, die vom Anbieter 208 bereitgestellt wurden.
  • 3 veranschaulicht das Entschlüsseln des virtuellen Platten-Image während des Implementierens. In dieser Figur wird ein Computersystem 200 mit einem Server 202 für virtuelle Systemimages gezeigt, der virtuelle Platten-Images verwaltet, die in einer Datenablage 204 für virtuelle Platten gespeichert sind. Im Beispiel, das in 3 gezeigt wird, ist ein zweites Computersystem 300 vorhanden, das zur Entschlüsselung während des Implementierens des virtuellen Platten-Image verwendet wird. Das zweite Computersystem 300 läuft auf einem virtuellen Zielsystem 302. Im Zielsystem 302 befindet sich ein Betriebssystem-Implementierungs-Tool 301. Das Betriebssystem-Implementierungs-Tool 301 ist vorgesehen, um in einem virtuellen Platten-Image ein virtuelles System zu implementieren.
  • Im virtuellen Zielsystem befindet sich auch ein Entschlüsselungsmodul 303. Bei dem Entschlüsselungsmodul handelt es sich um ein Softwaremodul oder ein Entschlüsselungsprogramm zur Entschlüsselung eines virtuellen Platten-Image unter Verwendung eines Kennworts oder eines kryptografischen Berechtigungsnachweises. Ein Anbieter 304 und ein Benutzer 306 werden gezeigt. In einem ersten Schritt 1, der durch das Bezugszeichen 308 bezeichnet ist, fordert der Anbieter 304 das Implementieren eines virtuellen Systems auf dem zweiten Computersystem 300 an oder löst dieses aus. In einem zweiten Schritt 2 (durch das Bezugszeichen 310 bezeichnet) bootet das Zielsystem oder virtuelle System auf dem Betriebssystem-Implementierungs-Tool 301. In einem dritten Schritt 3 (durch das Bezugszeichen 312 bezeichnet) fordert das Betriebssystem-Implementierungs-Tool 301 vom Benutzer 306 ein kryptografisches Kennwort oder einen Berechtigungsnachweis an. In einem vierten Schritt 4 (durch das Bezugszeichen 314 bezeichnet) stellt der Benutzer 306 dem Betriebssystem-Implementierungs-Tool 301 das kryptografische Kennwort oder den Berechtigungsnachweis bereit. In einem fünften Schritt 5 (auch als 316 bezeichnet) lädt das Tool das virtuelle Platten-Image herunter und entschlüsselt es unter Verwendung des kryptografischen Kennworts oder Berechtigungsnachweises und des Entschlüsselungsmoduls 303. Nachdem das virtuelle Platten-Image entschlüsselt wurde, wird in Schritt 6 (auch als 318 bezeichnet) das Implementieren des virtuellen Systems am entschlüsselten virtuellen Platten-Image fortgesetzt.
  • Die 4a bis 4e veranschaulichen ein Verfahren zur Verschlüsselung eines virtuellen Platten-Image auf der Grundlage von Blöcken gemäß einer Ausführungsform der Erfindung. In 4a werden eine virtuelle Platte 400 und ein virtuelles Platten-Image 402 gezeigt. Die Blöcke, aus denen das virtuelle Platten-Image besteht, sind mit 1 bis n beschriftet. Zunächst bootet der Benutzer ein Verschlüsselungs-Tool oder -programm, um das virtuelle Platten-Image zu verschlüsseln. In einem ersten Schritt erhöht das Entschlüsselungs-Tool die Größe der virtuellen Platte. Dies wird in 4b veranschaulicht. Am Ende der virtuellen Platte 400 wird ein Bereich mit leeren Betriebssystemblöcken 404 erzeugt. In einem nächsten Schritt wird das virtuelle Platten-Image in einen ersten Teil 406 und einen zweiten Teil 408 unterteilt. Der erste Teil des virtuellen Platten-Image 406 wird in die leeren Betriebssystemblöcke 404 am Ende der virtuellen Platte 400 kopiert.
  • In 4d wird gezeigt, dass das Verschlüsselungs-Tool einen Entschlüsselungs-Master-Bootdatensatz 410 und ein Entschlüsselungsprogramm 412 in einen ersten und zweiten Teil der virtuellen Platte 400 kopiert. 4e veranschaulicht den letzten Schritt. Das Verschlüsselungs-Tool oder die Verschlüsselungssoftware verschlüsselt den ersten Teil des virtuellen Platten-Image 406' und verschlüsselt den zweiten Teil des virtuellen Platten-Image 408'. Alle Blöcke des verschlüsselten virtuellen Platten-Image 406', 408' können verschlüsselt werden, oder die Blöcke können selektiv verschlüsselt werden. Auch in 4e wird die virtuelle Platte 400 in fünf Abschnitte unterteilt gezeigt. Der erste Abschnitt der virtuellen Platte 414 enthält den Entschlüsselungs-Master-Bootdatensatz 410. Der zweite Abschnitt der virtuellen Platte 416 enthält das Entschlüsselungsprogramm 412. Der dritte Abschnitt der virtuellen Platte 418 enthält den verschlüsselten 408' zweiten Teil des virtuellen Platten-Image. Der vierte Abschnitt der virtuellen Platte 420 enthält den verschlüsselten 406' ersten Teil des virtuellen Platten-Image. Der fünfte Abschnitt der virtuellen Platte 422 liegt am Ende der virtuellen Platte 400. In verschiedenen Ausführungsformen kann der fünfte Abschnitt 422 Daten zur Aufzeichnung des Entschlüsselungsstatus, Protokolldaten, bei der Entschlüsselung verwendete temporäre Daten und Kombinationen daraus enthalten.
  • 5a bis 5d veranschaulichen die Entschlüsselung des virtuellen Platten-Image 406', 408' einer virtuellen Platte 400, wenn sie von einer virtuellen Maschine aus gebootet wird. 5a ist mit 4e identisch. In einem ersten Schritt startet die virtuelle Maschine auf der virtuellen Platte 400 und bootet den Master-Bootdatensatz 410 der virtuellen Platte. Als Nächstes lädt der Master-Bootdatensatz 410 das Entschlüsselungsprogramm 412. Das Entschlüsselungsprogramm 412 fordert dann einen kryptografischen Berechtigungsnachweis oder ein Kennwort für die Entschlüsselung des verschlüsselten virtuellen Platten-Image 406', 408' an. In 5b wird der Entschlüsselungsprozess veranschaulicht. Zwei verschiedene Ansichten der virtuellen Platte 400 werden gezeigt. Die mit 500 beschrifteten Blöcke sind entschlüsselte Blöcke des zweites Teils des virtuellen Platten-Image. Die mit 502 beschrifteten Blöcke sind verschlüsselte Blöcke des zweiten Teils des virtuellen Platten-Image. In der oberen Ansicht von 5b ist nur der mit 4 beschriftete Block ein entschlüsselter Block 500. Der Rest des zweiten Teils des virtuellen Platten-Image ist verschlüsselt. Der untere Teil von 5b zeigt, dass alle Blöcke des zweiten Teils des virtuellen Platten-Image 408 entschlüsselte Blöcke 500 sind.
  • 5c zeigt den weiteren Fortgang des Entschlüsselns der virtuellen Platte 400. Nachdem alle Blöcke des zweiten Teils des virtuellen Platten-Image 408 entschlüsselt worden sind, wird das Entschlüsselungsprogramm 412 in den fünften Abschnitt 422 der virtuellen Platte kopiert. Als Nächstes wird ein Abschnitt des ersten Teils des virtuellen Platten-Image 406' entschlüsselt und in den zweiten Abschnitt 416 der virtuellen Platte kopiert. Der Rest 506 des ersten Teils des virtuellen Platten-Image 406' wird entschlüsselt und in den ersten Abschnitt 414 der virtuellen Platte kopiert. Der Rest des ersten Teils des virtuellen Platten-Image 506 hat in dieser Ausführungsform den Master-Bootdatensatz 410 überschrieben. Der verschlüsselte erste Teil des virtuellen Platten-Image 406' und das Entschlüsselungsprogramm 412 können überschrieben werden, wodurch leere Betriebssystemblöcke 404 übrig bleiben. Die 5d entspricht der 4b. Diese zeigt, wie das in 5 veranschaulichte Verfahren angewandt wurde, um das mindestens partiell verschlüsselte virtuelle Platten-Image 402 der virtuellen Platte 400 zu entschlüsseln.
  • 6 zeigt einen Ablaufplan, der eine Ausführungsform der Verschlüsselung eines virtuellen Platten-Image gemäß der Erfindung veranschaulicht. In Schritt 600 wird eine virtuelle Platte empfangen. Die virtuelle Platte weist ein virtuelles Platten-Image auf. In Schritt 602 wird die Größe der virtuellen Platte erhöht. In Schritt 604 werden ein Entschlüsselungs-Master-Bootdatensatz und ein Entschlüsselungsprogramm in die virtuelle Platte geschrieben. In Schritt 606 wird mindestens ein Abschnitt des virtuellen Platten-Image verschlüsselt.
  • 7 zeigt einen Ablaufplan, der ein Verfahren zum Entschlüsseln einer virtuellen Platte gemäß einer Ausführungsform der Erfindung veranschaulicht. In Schritt 700 wird eine verschlüsselte virtuelle Platte empfangen. In Schritt 702 wird eine virtuelle Maschine durch einen auf der virtuellen Platte enthaltenen Entschlüsselungs-Master-Bootdatensatz gestartet. In Schritt 704 wird ein Verschlüsselungsschlüssel empfangen. Die virtuelle Platte weist eine mindestens partiell verschlüsselte virtuelle Platte auf. In Schritt 706 wird die mindestens partiell verschlüsselte virtuelle Platte mit einem auf der virtuellen Platte befindlichen Entschlüsselungsprogramm entschlüsselt. Das Entschlüsselungsprogramm verwendet den Verschlüsselungsschlüssel mit dem Entschlüsselungsprogramm, um die Entschlüsselung der mindestens partiell verschlüsselten virtuellen Platte durchzuführen.
  • 8 zeigt einen Ablaufplan, der ein Verfahren zum Entschlüsseln einer verschlüsselten virtuellen Platte gemäß einer weiteren Ausführungsform der Erfindung veranschaulicht. In Schritt 800 wird eine verschlüsselte virtuelle Platte empfangen. In Schritt 802 wird mit dem Entschlüsselungs-Master-Bootdatensatz eine virtuelle Maschine gestartet. In Schritt 804 wird ein Verschlüsselungsschlüssel empfangen. In Schritt 806 wird ein zweiter Teil des virtuellen Platten-Imageunter Verwendung des Verschlüsselungsschlüssels und eines auf der virtuellen Platte befindlichen Entschlüsselungsprogramms entschlüsselt. In Schritt 808 wird das Entschlüsselungsprogramm in einen fünften Abschnitt der virtuellen Platte kopiert. In Schritt 810 wird ein Abschnitt eines ersten Teils des virtuellen Platten-Image entschlüsselt. In Schritt 812 wird der entschlüsselte Abschnitt des ersten Teils des virtuellen Platten-Image in den zweiten Abschnitt der virtuellen Platte kopiert. In Schritt 814 wird der Rest des ersten Teils des virtuellen Platten-Image entschlüsselt. In Schritt 816 wird der entschlüsselte Rest des ersten Teils des virtuellen Platten-Image in den ersten Abschnitt der virtuellen Platte kopiert. In Schritt 818 wird die virtuelle Maschine neu gebootet. Das in 8 veranschaulichte Verfahren entspricht dem Verfahren, das in 5 veranschaulicht wird.
  • 9 zeigt zwei Computersysteme, ein erstes Computersystem 900 zum Verschlüsseln einer virtuellen Platte und ein zweites Computersystem 902 zum Entschlüsseln einer virtuellen Platte. Zwischen dem ersten Computersystem 900 und dem zweiten Computersystem 902 ist eine Netzwerkkommunikation 904 vorhanden. Das erste Computersystem weist eine Netzwerkschnittstelle 906 zum Anschluss an das Computernetzwerk 904 auf, und das zweite Computersystem 902 weist eine Netzwerkschnittstelle 908 zum Anschluss an das Computernetzwerk 904. Bei der Netzwerkverbindung 904 kann es sich um jede Standard-Computerschnittstelle wie z. B. eine Ethernet-Verbindung oder Internet-Verbindung handeln. Das erste Computersystem 900 weist einen Prozessor 910 auf, der mit einer Benutzerschnittstelle 912 und der Netzwerkschnittstelle 906 verbunden ist. Der Prozessor 910 ist auch mit einem Computermassenspeicher (computer storage) 914 und einem Computerhauptspeicher (computer memory) 916 verbunden.
  • Der Computerspeicher 914 enthält eine unverschlüsselte virtuelle Platte 918. Die unverschlüsselte virtuelle Platte enthält ein unverschlüsseltes virtuelles Platten-Image. Im Computerspeicher 914 befindet sich auch ein Entschlüsselungs-Master-Bootdatensatz 920. Im Computerspeicher 914 befindet sich auch ein Entschlüsselungsprogramm 922. Der Computerspeicher 914 enthält auch eine verschlüsselte virtuelle Platte 924. Die verschlüsselte virtuelle Platte 924 enthält einen Entschlüsselungs-Master-Bootdatensatz 920, ein Entschlüsselungsprogramm 922 und ein mindestens partiell verschlüsseltes virtuelles Platten-Image 923. Die verschlüsselte virtuelle Platte 924 kann auch ein mindestens partiell verschlüsseltes virtuelles Platten-Image enthalten. Der Computerhauptspeicher 916 enthält ein Verschlüsselungs-Tool 926. Ein Verschlüsselungs-Tool 926 ist ein Softwaremodul oder -programm, das maschinenausführbare Anweisungen enthält, die den Prozessor 910 dazu veranlassen, mit der unverschlüsselten virtuellen Platte 918, dem Entschlüsselungs-Master-Bootdatensatz 920 und dem Entschlüsselungsprogramm 922 die verschlüsselte virtuelle Platte 924 zu erzeugen. Das Verschlüsselungs-Tool 926 kann verwendet werden, um die in 4 und 6 veranschaulichten Verfahren zu realisieren. In manchen Ausführungsformen enthält der Computerhauptspeicher 916 auch ein Verschlüsselungsmodul und ein Modul zum Erzeugen von kryptografischen Berechtigungsnachweisen 930. Der Verschlüsselungsmodul 928 wird zur Verschlüsselung der unverschlüsselten virtuellen Platte 918 verwendet. Das Modul zum Erzeugen von kryptografischen Berechtigungsnachweisen 930 ist ein optionales Modul und kann verwendet werden, um kryptografische Berechtigungsnachweise zu erzeugen. Zum Beispiel kann das Modul zum Erzeugen von kryptografischen Berechtigungsnachweisen verwendet werden, um ein Verschlüsselungsschlüsselpaar für einen asymmetrischen Verschlüsselungsalgorithmus zu erzeugen.
  • Auch das zweite Computersystem 902 enthält einen Prozessor 932. Der Prozessor 932 ist mit der Netzwerkschnittstelle 908 und der Benutzerschnittstelle 934 verbunden. Der Prozessor 932 ist auch mit dem Computerspeicher 936 und Computerhauptspeicher 938 verbunden. Der Computerspeicher 936 enthält die verschlüsselte virtuelle Platte 924 vom ersten Computersystem 900. In dieser Ausführungsform wurde die Netzwerkverbindung 904 verwendet, um die verschlüsselte virtuelle Platte 924 zu übertragen. Im Computerspeicher 936 ist auch ein Verschlüsselungsschlüssel 944. Der Computerhauptspeicher 938 enthält ein Virtualisierungs-Modul 942. Das Virtualisierungs-Modul 942 erlaubt dem Prozessor 932, ein virtuelles Computersystem auszuführen und zu betreiben. Wie zu ersehen ist, sind das Virtualisierungs-Modul 942 und der Verschlüsselungsschlüssel 944 alles, was benötigt wird, um die verschlüsselte virtuelle Platte 924 zu entschlüsseln. Diese Figur veranschaulicht auch, wie ein Endbenutzer in der Lage sein kann, die verschlüsselte virtuelle Platte 924 ohne Hilfe eines Anbieters zu entschlüsseln.
  • Bezugszeichenliste
  • 100
    virtuelle Platte
    102
    virtuelles Platten-Image
    104
    Entschlüsselungsprogramm
    106
    Computersystem
    108
    Anbieter
    110
    Benutzer
    112
    Schritt 1
    114
    Schritt 2
    116
    Schritt 3
    118
    Schritt 4
    120
    Schritt 5
    122
    Schritt 6
    200
    Computersystem
    202
    Server für virtuelle System-Images
    204
    Ablage für virtuelle Platten
    206
    Entschlüsselungsmodul
    208
    Anbieter
    210
    Schritt 1
    212
    Schritt 2
    214
    Schritt 3
    216
    Schritt 4
    218
    Schritt 5
    300
    zweites Computersystem
    301
    Betriebssystem-Implementierungs-Tool
    302
    virtuelles Zielsystem
    303
    Entschlüsselungsmodul
    304
    Anbieter
    306
    Benutzer
    308
    Schritt 1
    310
    Schritt 2
    312
    Schritt 3
    314
    Schritt 4
    316
    Schritt 5
    318
    Schritt 6
    400
    virtuelle Platte
    402
    virtuelles Platten-Image
    404
    leere Betriebssystemblöcke
    406
    erster Teil des virtuellen Platten-Image
    406'
    verschlüsselter erster Teil des virtuellen Platten-Image
    408
    zweiter Teil des virtuellen Platten-Image
    408'
    verschlüsselter zweiter Teil des virtuellen Platten-Image
    410
    Entschlüsselungs-Master-Bootdatensatz
    412
    Entschlüsselungsprogramm
    414
    erster Abschnitt der virtuellen Platte
    416
    zweiter Abschnitt der virtuellen Platte
    418
    dritter Abschnitt der virtuellen Platte
    420
    vierter Abschnitt der virtuellen Platte
    422
    fünfter Abschnitt der virtuellen Platte
    500
    entschlüsselte Blöcke des zweiten Teils des virtuellen Platten-Image
    502
    verschlüsselte Blöcke des zweiten Teils des virtuellen Platten-Image
    504
    Abschnitt des ersten Teils des virtuellen Platten-Image
    506
    Rest des ersten Teils des virtuellen Platten-Image
    900
    erstes Computersystem
    902
    zweites Computersystem
    904
    Netzwerkverbindung
    906
    Netzwerkschnittstelle
    908
    Netzwerkschnittstelle
    910
    Prozessor
    912
    Benutzerschnittstelle
    914
    Computerspeicher
    916
    Computerhauptspeicher
    918
    unverschlüsselte virtuelle Platte
    920
    Entschlüsselungs-Master-Bootdatensatz
    922
    Entschlüsselungsprogramm
    923
    verschlüsseltes virtuelles Platten-Image
    924
    verschlüsselte virtuelle Platte
    926
    Verschlüsselungs-Tool
    928
    Verschlüsselungsmodul
    930
    Modul zum Erzeugen von kryptografischen Berechtigungsnachweisen
    931
    Verschlüsselungsschlüsselpaar
    932
    Prozessor
    934
    Benutzerschnittstelle
    936
    Computerspeicher
    938
    Computerhauptspeicher
    940
    entschlüsselte virtuelle Platte
    942
    Virtualisierungs-Modul
    944
    Verschlüsselungsschlüssel

Claims (12)

  1. Computerlesbares Speichermedium (916), das maschinenausführbare Anweisungen enthält, die, wenn sie von einem Prozessor ausgeführt werden, den Prozessor dazu veranlassen, eine virtuelle Platte zu verschlüsseln; wobei die virtuelle Platte ein virtuelles Platten-Image aufweist; und wobei das Ausführen der maschinenausführbaren Anweisungen den Prozessor dazu veranlasst: - die virtuelle Platte zu empfangen (600); - die Größe der virtuellen Platte zu erhöhen (602); - einen Entschlüsselungs-Master-Bootdatensatz und ein Entschlüsselungsprogramm auf die virtuelle Platte zu schreiben (604); - mindestens einen Teil des virtuellen Platten-Image zu verschlüsseln (606), wobei das Entschlüsselungsprogramm entschlüsselungsmaschinenlesbare Anweisungen aufweist, um das mindestens partiell verschlüsselte virtuelle Platten-Image gemäß einem Verschlüsselungsschlüssel (944) zu entschlüsseln. wobei das virtuelle Platten-Image in einen ersten (406) und zweiten Teil (408) unterteilt wird, wobei der zweite Teil des virtuellen Platten-Image in einem dritten Abschnitt (418) der virtuellen Platte gespeichert wird, wobei das Ausführen der Anweisungen den Prozessor außerdem dazu veranlasst, den ersten Teil des virtuellen Platten-Image in einen vierten Abschnitt (420) der virtuellen Platte zu kopieren; wobei der Entschlüsselungs-Master-Bootdatensatz in einen ersten Abschnitt (414) der virtuellen Platte geschrieben wird, wobei das Entschlüsselungsprogramm in einen zweiten Abschnitt (416) der virtuellen Platte geschrieben wird, wobei der erste Teil des virtuellen Platten-Image aus dem ersten und zweiten Abschnitt der virtuellen Platte kopiert wird; wobei das Ausführen der Anweisungen den Prozessor außerdem dazu veranlasst, den ersten (406') und zweiten (408') Teil der virtuellen Platte mindestens partiell zu verschlüsseln, und wobei die Größe der virtuellen Platte erhöht wird, um den vierten Abschnitt der virtuellen Platte und einen fünften Abschnitt (422) der virtuellen Platte zu erzeugen, wobei die Größe des fünften Abschnitts größer ist als die des zweite Abschnitts und wobei die kombinierte Größe des ersten und zweiten Abschnitts geringer oder gleich der Größe des vierten Abschnitts ist.
  2. Computerlesbares Speichermedium nach Anspruch 1, wobei der erste Teil des virtuellen Platten-Image zusammenhängend verschlüsselt ist und/oder wobei der zweite Teil des virtuellen Platten-Image zusammenhängend verschlüsselt ist.
  3. Computerlesbares Speichermedium nach Anspruch 1, wobei das virtuelle Platten-Image in Blöcke unterteilt sind, wobei die Blöcke gemäß einer vorbestimmten Blockverschlüsselungsliste auf selektive Weise verschlüsselt sind.
  4. Computerlesbares Speichermedium nach einem der vorherigen Ansprüche 1 oder 3, wobei das virtuelle Platten-Image in Blöcke unterteilt ist, wobei das Ausführen der Anweisungen den Prozessor dazu veranlasst, jeden der Blöcke zu prüfen und eine Liste der unbenutzten Blöcke zu erzeugen, und wobei bestimmte Blöcke nur verschlüsselt werden, wenn sie nicht in der Liste der unbenutzten Blöcke gefunden werden.
  5. Computerlesbares Speichermedium (938), das maschinenausführbare Anweisungen enthält, die, wenn sie von einem Prozessor ausgeführt werden, den Prozessor dazu veranlassen, eine verschlüsselte virtuelle Platte zu entschlüsseln; wobei die virtuelle Platte aufweist: einen Entschlüsselungs-Master-Bootdatensatz, ein Entschlüsselungsprogramm und mindestens ein partiell verschlüsseltes virtuelles Platten-Image; wobei das Entschlüsselungsprogramm entschlüsselungsmaschinenlesbare Anweisungen aufweist, um das mindestens partiell verschlüsselte virtuelle Platten-Image gemäß einem Verschlüsselungsschlüssel (944) zu entschlüsseln, wobei das Ausführen der maschinenausführbaren Anweisungen den Prozessor dazu veranlasst: - die verschlüsselte virtuelle Platte zu empfangen (700, 800); - mit dem Entschlüsselungs-Master-Bootdatensatz eine virtuelle Maschine zu booten (702, 802); - den Verschlüsselungsschlüssel zu empfangen (118, 216, 314, 704, 804); - das mindestens partiell verschlüsselte virtuelle Platten-Image gemäß dem Verschlüsselungsschlüssel und dem Entschlüsselungsprogramm zu entschlüsseln (120, 218, 316, 706, 806, 808, 810, 812, 814, 816, 818), wobei die virtuelle Platte aufweist: einen ersten Abschnitt, der den Entschlüsselungs-Master-Bootdatensatz enthält, einen zweiten Abschnitt, der das Entschlüsselungsprogramm enthält, einen dritten Abschnitt, der einen zweiten Teil des virtuellen Platten-Image enthält, einen vierten Abschnitt, der einen ersten Teil der virtuellen Platte enthält, und einen fünften Abschnitt, der Speicherplatz enthält, wobei die Größe des fünften Abschnitts größer oder gleich dem zweiten Abschnitt ist, wobei die kombinierte Größe des ersten und zweiten Abschnitts geringer oder gleich der Größe des vierten Abschnitts ist, wobei das mindestens partiell verschlüsselte virtuelle Platten-Image entschlüsselt wird durch: - Entschlüsseln (806) des zweiten Teils des virtuellen Platten-Image; - Kopieren (808) des Entschlüsselungsprogramms in den fünften Abschnitt der virtuellen Platte; - Entschlüsseln (810) eines Abschnitts des ersten Teils des virtuellen Platten-Image; - Kopieren (812) des entschlüsselten Abschnitts des ersten Teils des virtuellen Platten-Image in den zweiten Abschnitt der virtuellen Platte; - Entschlüsseln (814) des Rests des ersten Teils des virtuellen Platten-Image; und - Kopieren (816) des entschlüsselten Rests des ersten Teils des virtuellen Platten-Image in den ersten Abschnitt der virtuellen Platte.
  6. Computerlesbares Speichermedium nach Anspruch 5, wobei die Entschlüsselung des mindestens partiell verschlüsselten virtuellen Platten-Image während des Implementierens der virtuellen Maschine durchgeführt wird.
  7. Computerlesbares Speichermedium nach Anspruch 5, wobei das Ausführen der Anweisungen den Prozessor nach dem Kopieren des entschlüsselten Rests des ersten Teils des virtuellen Platten-Image in den ersten Abschnitt der virtuellen Platte außerdem dazu veranlasst, Daten im vierten und fünften Abschnitt der virtuellen Platte zu löschen.
  8. Computerlesbares Speichermedium nach einem der Ansprüche 5 bis 7, wobei das Ausführen der Anweisungen die virtuelle Maschine nach dem Entschlüsseln des mindestens partiell verschlüsselten virtuellen Platten-Image außerdem dazu veranlasst, neu zu booten.
  9. Computerlesbares Speichermedium mit einer verschlüsselten virtuellen Platte (914, 936), das eine virtuelle Platte (924) enthält; wobei die virtuelle Platte aufweist: einen Entschlüsselungs-Master-Bootdatensatz (414), ein Entschlüsselungsprogramm (416) und ein mindestens partiell verschlüsseltes virtuelles Platten-Image (406', 408', 923); wobei das Entschlüsselungsprogramm maschinenausführbare Anweisungen aufweist, um das mindestens partiell verschlüsselte virtuelle Platten-Image gemäß einem Verschlüsselungsschlüssel (944) zu entschlüsseln; wobei das Entschlüsselungsprogramm maschinenausführbare Anweisungen aufweist, die, wenn sie von einem Prozessor (932) ausgeführt werden, den Prozessor dazu veranlassen: - den Verschlüsselungsschlüssel zu empfangen (118, 216, 314, 704, 804); - das verschlüsselte, mindestens partiell verschlüsselte virtuelle Platten-Image gemäß dem Verschlüsselungsschlüssel und dem Entschlüsselungsprogramm zu entschlüsseln (120, 218, 316, 706, 806, 808, 810, 812, 814, 816). wobei die virtuelle Platte aufweist: - einen ersten Abschnitt (414), der den Entschlüsselungs-Master-Bootdatensatz enthält; - einen zweiten Abschnitt (416), der das Entschlüsselungsprogramm enthält, - einen dritten Abschnitt (418), der einen zweiten Teil des virtuellen Platten-Image (408') enthält; - einen vierten Abschnitt (420), der einen ersten Teil des virtuellen Platten-Image (406') enthält; und - einen fünften Abschnitt (422), der Speicherplatz enthält, wobei die Größe des fünften Abschnitts größer oder gleich dem zweiten Abschnitt ist, wobei die kombinierte Größe des ersten und zweiten Abschnitts geringer oder gleich der Größe des vierten Abschnitts ist.
  10. Computerlesbares Speichermedium mit einer virtuellen Platte nach Anspruch 9, wobei das mindestens partiell verschlüsselte virtuelle Platten-Image entschlüsselt wird durch: - Entschlüsseln (806) des zweiten Teils des virtuellen Platten-Image; - Kopieren (808) des Entschlüsselungsprogramms in den fünften Abschnitt der virtuellen Platte; - Entschlüsseln (810) eines Abschnitts (504) des ersten Teils des virtuellen Platten-Image; - Kopieren (812) des entschlüsselten Abschnitts des ersten Teils des virtuellen Platten-Image in den zweiten Abschnitt der virtuellen Platte; - Entschlüsseln (814) des Rests des ersten Teils des virtuellen Platten-Image; und - Kopieren (816) des entschlüsselten Rests (506) des ersten Teils des virtuellen Platten-Image in den ersten Abschnitt der virtuellen Platte.
  11. Computerlesbares Speichermedium mit einer virtuellen Platte nach Anspruch 9 oder 10, wobei die virtuelle Platte eine Entschlüsselungsstatus-Datendatei zum Speichern des Fortgang des Entschlüsselns des mindestens partiell verschlüsselten virtuellen Platten-Image enthält, wobei das Ausführen der maschinenausführbaren Anweisungen des Entschlüsselungsprogramms den Prozessor außerdem dazu veranlasst: - die Entschlüsselungsstatus-Datendatei während des Entschlüsselns des mindestens partiell verschlüsselten virtuellen Platten-Image zu aktualisieren; und - die Entschlüsselungsstatus-Datendatei beim Start der Entschlüsselung des mindestens partiell verschlüsselten virtuellen Platten-Image zu prüfen.
  12. Verfahren zum Verschlüsseln einer virtuellen Platte, die ein virtuelles Platten-Image aufweist, wobei das Verfahren aufweist: - Empfangen (600) der virtuellen Platte; - Erhöhen (602) der Größe der virtuellen Platte; - Schreiben (604) eines Entschlüsselungs-Master-Bootdatensatzes und eines Entschlüsselungsprogramms in die virtuelle Platte; - Verschlüsseln (606) mindestens eines Abschnitts des virtuellen Platten-Image, wobei das Entschlüsselungsprogramm bereitgestellt wird, um das mindestens partiell verschlüsselte virtuelle Platten-Image gemäß einem Verschlüsselungsschlüssel (944) zu entschlüsseln, wobei das virtuelle Platten-Image in einen ersten (406) und zweiten Teil (408) unterteilt wird, wobei der zweite Teil des virtuellen Platten-Image in einem dritten Abschnitt (418) der virtuellen Platte gespeichert wird, wobei das Ausführen der Anweisungen den Prozessor außerdem dazu veranlasst, den ersten Teil des virtuellen Platten-Image in einen vierten Abschnitt (420) der virtuellen Platte zu kopieren; wobei der Entschlüsselungs-Master-Bootdatensatz in einen ersten Abschnitt (414) der virtuellen Platte geschrieben wird, wobei das Entschlüsselungsprogramm in einen zweiten Abschnitt (416) der virtuellen Platte geschrieben wird, wobei der erste Teil des virtuellen Platten-Image aus dem ersten und zweiten Abschnitt der virtuellen Platte kopiert wird; wobei das Ausführen der Anweisungen den Prozessor außerdem dazu veranlasst, den ersten (406') und zweiten (408') Teil der virtuellen Platte mindestens partiell zu verschlüsseln, und wobei die Größe der virtuellen Platte erhöht wird, um den vierten Abschnitt der virtuellen Platte und einen fünften Abschnitt (422) der virtuellen Platte zu erzeugen, wobei die Größe des fünften Abschnitts größer ist als die des zweite Abschnitts und wobei die kombinierte Größe des ersten und zweiten Abschnitts geringer oder gleich der Größe des vierten Abschnitts ist.
DE112011104325.2T 2010-12-09 2011-11-03 Computerlesbare Speichermedien zum Verschlüsseln und Entschlüsseln einer virtuellen Platte Active DE112011104325B4 (de)

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
DE112011104325T5 DE112011104325T5 (de) 2013-09-26
DE112011104325B4 true DE112011104325B4 (de) 2020-08-06

Family

ID=44910207

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112011104325.2T Active DE112011104325B4 (de) 2010-12-09 2011-11-03 Computerlesbare Speichermedien zum Verschlüsseln und Entschlüsseln einer virtuellen Platte

Country Status (6)

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

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
DE112011103880T5 (de) 2010-11-23 2013-08-22 International Business Machines Corporation Direktes Migrieren von Software-Abbildern mit Streaming-Technik
DE112011104325B4 (de) 2010-12-09 2020-08-06 International Business Machines Corporation Computerlesbare Speichermedien zum Verschlüsseln und Entschlüsseln einer virtuellen Platte
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 武汉大学 一种防止云平台虚拟机非法启动的镜像加解密方法
US10491568B1 (en) * 2014-05-21 2019-11-26 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 삼성전자주식회사 선택적 암호화 방법 및 그를 이용한 전자 장치
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
WO2017129530A1 (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
WO2017129657A1 (en) * 2016-01-29 2017-08-03 British Telecommunications Public Limited Company Disk encryption
WO2017129660A1 (en) 2016-01-29 2017-08-03 British Telecommunications Public Limited Company Secure data storage
US10534921B2 (en) 2017-08-23 2020-01-14 Red Hat, Inc. Copy and decrypt support for encrypted virtual machines
EP3785409B1 (de) 2018-04-25 2023-08-02 British Telecommunications public limited company Austausch der nachrichtendaten
WO2019223980A1 (en) 2018-05-24 2019-11-28 British Telecommunications Public Limited Company Cryptographic key generation using multiple random sources
US11451387B2 (en) 2018-05-24 2022-09-20 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
WO2020226189A1 (ko) * 2019-05-03 2020-11-12 라인플러스 주식회사 메모리상에서 실행 가능 이미지를 적재하는 방법 및 시스템

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0770950A2 (de) * 1995-10-27 1997-05-02 SCM Microsystems, Inc. Verschlüsselungsschlüsselanordnung und -verfahren
US20040030822A1 (en) * 2002-08-09 2004-02-12 Vijayan Rajan Storage virtualization by layering virtual disk objects on a file system
EP1679573A1 (de) 2005-01-07 2006-07-12 Telefonaktiebolaget LM Ericsson (publ) Aktualisierung von Speicherinhalt in einem Datenverarbeitungssystem
WO2008049008A2 (en) 2006-10-17 2008-04-24 Manage Iq, Inc. Registering and accessing virtual systems for use in a managed system
US7428636B1 (en) * 2001-04-26 2008-09-23 Vmware, Inc. Selective encryption system and method for I/O operations

Family Cites Families (81)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US20030220781A1 (en) 2002-02-25 2003-11-27 Oak Technology, Inc. Communication architecture utilizing emulator interface
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
JP2007510979A (ja) 2003-11-06 2007-04-26 インテュウェーブ リミテッド 無線モバイル機器のための迅速なソフトウエアアプリケーション開発の方法
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
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
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
EP2137629A4 (de) 2007-03-20 2010-12-29 Sanggyu Lee Bewegliches virtual-machine-bild
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株式会社 情報処理装置
JP5290287B2 (ja) 2008-05-29 2013-09-18 株式会社シー・オー・コンヴ ネットワークブートシステム
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
DE112011103880T5 (de) 2010-11-23 2013-08-22 International Business Machines Corporation Direktes Migrieren von Software-Abbildern mit Streaming-Technik
DE112011104325B4 (de) 2010-12-09 2020-08-06 International Business Machines Corporation Computerlesbare Speichermedien zum Verschlüsseln und Entschlüsseln einer virtuellen Platte
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 国际商业机器公司 利用引导块重定位来管理多个软件镜像的方法和系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0770950A2 (de) * 1995-10-27 1997-05-02 SCM Microsystems, Inc. Verschlüsselungsschlüsselanordnung und -verfahren
US7428636B1 (en) * 2001-04-26 2008-09-23 Vmware, Inc. Selective encryption system and method for I/O operations
US20040030822A1 (en) * 2002-08-09 2004-02-12 Vijayan Rajan Storage virtualization by layering virtual disk objects on a file system
EP1679573A1 (de) 2005-01-07 2006-07-12 Telefonaktiebolaget LM Ericsson (publ) Aktualisierung von Speicherinhalt in einem Datenverarbeitungssystem
WO2008049008A2 (en) 2006-10-17 2008-04-24 Manage Iq, Inc. Registering and accessing virtual systems for use in a managed system

Also Published As

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

Similar Documents

Publication Publication Date Title
DE112011104325B4 (de) Computerlesbare Speichermedien zum Verschlüsseln und Entschlüsseln einer virtuellen Platte
DE112018002031B4 (de) Sichern einer betriebssystemkonfiguration unter verwendung von hardware
DE102008021567B4 (de) Computersystem mit sicherem Hochlaufmechanismus auf der Grundlage einer Verschlüsselung mit symmetrischem Schlüssel
EP2488986B1 (de) Verfahren und vorrichtung zum betreiben einer virtuellen maschine gemäss einer zugeordneten rechteinformation
DE60313368T2 (de) Verfahren und Server zum Aktualisieren von Software
DE112015004555B4 (de) Verarbeiten eines Gast-Ereignisses in einem von einem Hypervisor gesteuerten System
DE112010004930B4 (de) Sicherer kerberisierter Zugriff auf ein verschlüsseltes Dateisystem
DE69531077T2 (de) Verfahren und Vorrichtung mit Benutzereinwirkung der Art Erproben-und-Kaufen, die es ermöglicht, Software zu erproben
DE102004008702B4 (de) Inhaltsverschlüsselung unter Verwendung einer programmierbaren Hardware
DE112014000584T5 (de) Erreichen von Speichereffizienz bei durchgängiger Verschlüsselung unter Verwendung von nachgelagerten (Downstream-)Decryptern
DE102011082184A1 (de) Sicherheitsschutz für Speicherinhalt von Prozessorhauptspeicher
DE112020000694T5 (de) Erzeugung und ausführung von sicheren containern
DE112011105688T5 (de) Ent- und Verschlüsselung von Anwendungsdaten
EP2502176B1 (de) Verfahren und vorrichtung zum zugreifen auf steuerungsdaten gemäss einer bereitgestellten rechteinformation
DE112012004793T5 (de) Verfahren und System zum Erzeugen einer virtuellen Anwendung
DE102007063528A1 (de) System und Verfahren zum Schützen eines Sicherheitsbereichs eines Systems
DE202014011089U1 (de) System zum Kopieren von Dateien zwischen verschlüsselten und unverschlüsselten Datenspeichereinrichtungen
WO2013102564A1 (de) Rechnersystem zum aktualisieren von programmen und daten in unterschiedlichen speicherbereichen mit oder ohne schreibberechtigungen
DE112020005517T5 (de) Prozessgestütztes virtualisierungssystem zum ausführen eines sicheren anwendungsprozesses
DE102010038179B4 (de) Individuelle Aktualisierung von Computerprogrammen
EP2299380A1 (de) Wechselspeichermedium für einen Computer, Verwendung eines Wechselspeichermediums und Verfahren zum Starten und Betreiben eines Computers
DE102005046696B4 (de) Verfahren zum Erzeugen von geschütztem Programmcode und Verfahren zum Ausführen von Programmcode eines geschützten Computerprogramms sowie Computerprogrammprodukt
DE112019007230T5 (de) Multimodus-Geschützter-Speicher
WO2010089083A2 (de) Vorrichtung und verfahren zum verhindern von unautorisierter verwendung und/oder manipulation von software
DE112021005119T5 (de) Zugriff auf software durch heterogene verschlüsselung

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0021020000

Ipc: G06F0021700000

Effective date: 20130729

R082 Change of representative

Representative=s name: LIFETECH IP SPIES DANNER & PARTNER PATENTANWAE, DE

Representative=s name: LIFETECH IP SPIES & BEHRNDT PATENTANWAELTE PAR, DE

Representative=s name: SPIES & BEHRNDT PATENTANWAELTE PARTG MBB, DE

Representative=s name: SPIES DANNER & PARTNER PATENTANWAELTE PARTNERS, DE

R082 Change of representative

Representative=s name: LIFETECH IP SPIES DANNER & PARTNER PATENTANWAE, DE

Representative=s name: LIFETECH IP SPIES & BEHRNDT PATENTANWAELTE PAR, DE

Representative=s name: SPIES & BEHRNDT PATENTANWAELTE PARTG MBB, DE

R082 Change of representative

Representative=s name: LIFETECH IP SPIES & BEHRNDT PATENTANWAELTE PAR, DE

Representative=s name: SPIES & BEHRNDT PATENTANWAELTE PARTG MBB, DE

R082 Change of representative

Representative=s name: SPIES & BEHRNDT PATENTANWAELTE PARTG MBB, DE

R016 Response to examination communication
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R084 Declaration of willingness to licence
R020 Patent grant now final