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 PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1408—Protection against unauthorised use of memory or access to memory by using cryptography
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting 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/80—Protecting 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/575—Secure boot
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6209—Protecting 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting 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/72—Protecting 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/55—Depth or shape recovery from multiple images
- G06T7/593—Depth or shape recovery from multiple images from stereo images
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
- H04L63/061—Network 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key 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/0825—Key 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1052—Security improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20021—Dividing image into blocks, subimages or windows
Abstract
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 - 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 Platte100 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 bis4e ein auf Blöcken beruhendes Verfahren zum Verschlüsseln eines virtuellen Platten-Image gemäß einer Ausführungsform der Erfindung veranschaulichen, -
5a bis5d die Entschlüsselung des in4a bis4e 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 Platte100 gemäß einer Ausführungsform der Erfindung. Die virtuelle Platte100 weist ein virtuelles Platten-Image102 auf, das verschlüsselt ist, und ein Entschlüsselungsprogramm104 zum Entschlüsseln des virtuellen Platten-Image102 . In1 wird auch ein Computersystem106 gezeigt, das Virtualisierungs-Software zum Ausführen von virtuellen Computersystemen oder Maschinen enthält. In1 werden ein Anbieter108 und ein Benutzer110 gezeigt.1 veranschaulicht die Maßnahmen, die bei Verwendung einer virtuellen Platte100 gemäß einer Ausführungsform der Erfindung vom Anbieter108 und vom Benutzer110 ergriffen werden. Die in1 gezeigten Schritte sind zuerst das Booten der virtuellen Platte und deren Entschlüsselung. Schritt1 ist mit112 beschriftet. In diesem Schritt speichert der Anbieter108 die virtuelle Platte100 auf dem Computersystem106 . In Schritt2 ,114 bootet der Benutzer110 mit der Virtualisierungs-Software die virtuelle Maschine auf einem Computersystem106 . In Schritt3 ,116 bootet das Entschlüsselungsprogramm104 und fordert vom Benutzer110 einen Berechtigungsnachweis oder ein Kennwort an. In Schritt4 ,118 stellt der Benutzer110 dem Entschlüsselungsprogramm104 den Berechtigungsnachweis oder das Kennwort bereit. In Schritt5 ,120 entschlüsselt das Entschlüsselungsprogramm104 das virtuelle Platten-Image102 unter Verwendung des Berechtigungsnachweises oder Kennworts. In Schritt6 ,122 bootet die virtuelle Maschine neu, und die virtuelle Maschine wird vom entschlüsselten virtuellen Platten-Image102 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-Image102 erfolgen, oder die Entschlüsselung kann während der Implementierung des virtuellen Platten-Image102 erfolgen. Wenn das virtuelle Platten-Image102 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. In2 wird ein Computersystem200 gezeigt, das als Server202 für virtuelle System-Images dient. Der Server202 für virtuelle System-Images liefert Abbilder von virtuellen Systemen, wenn dies von einem Anbieter208 angefordert wird. Auch eine Datenablage204 für virtuelle Platten wird vom Computersystem200 gespeichert oder ist von diesem zugreifbar, wobei es sich hier um eine Datenablage für virtuelle Platten handelt, auf welche über den Server202 für virtuelle Systemimages zugegriffen werden kann. Auch ein Entschlüsselungsmodul206 ist vorhanden, das dem in1 gezeigten Entschlüsselungsprogramm104 entspricht. In Schritt1 lädt der Anbieter208 eine virtuelle Platte herunter. In Schritt2 ,212 fordert der Anbieter den Import der virtuellen Platte in das vom Server202 für virtuelle System-Images verwaltete System an. In Schritt3 ,214 fordert der Server202 für virtuelle System-Images vom Anbieter208 einen Berechtigungsnachweis oder ein Kennwort an. In Schritt4 ,216 stellt der Anbieter208 dem Server202 für virtuelle System-Images die Berechtigungsnachweise oder Kennwörter bereit. Im Schritt5 importiert der Server202 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 Anbieter208 bereitgestellt wurden. -
3 veranschaulicht das Entschlüsseln des virtuellen Platten-Image während des Implementierens. In dieser Figur wird ein Computersystem200 mit einem Server202 für virtuelle Systemimages gezeigt, der virtuelle Platten-Images verwaltet, die in einer Datenablage204 für virtuelle Platten gespeichert sind. Im Beispiel, das in3 gezeigt wird, ist ein zweites Computersystem300 vorhanden, das zur Entschlüsselung während des Implementierens des virtuellen Platten-Image verwendet wird. Das zweite Computersystem300 läuft auf einem virtuellen Zielsystem302 . Im Zielsystem302 befindet sich ein Betriebssystem-Implementierungs-Tool301 . Das Betriebssystem-Implementierungs-Tool301 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 Anbieter304 und ein Benutzer306 werden gezeigt. In einem ersten Schritt1 , der durch das Bezugszeichen308 bezeichnet ist, fordert der Anbieter304 das Implementieren eines virtuellen Systems auf dem zweiten Computersystem300 an oder löst dieses aus. In einem zweiten Schritt2 (durch das Bezugszeichen310 bezeichnet) bootet das Zielsystem oder virtuelle System auf dem Betriebssystem-Implementierungs-Tool301 . In einem dritten Schritt3 (durch das Bezugszeichen312 bezeichnet) fordert das Betriebssystem-Implementierungs-Tool301 vom Benutzer306 ein kryptografisches Kennwort oder einen Berechtigungsnachweis an. In einem vierten Schritt4 (durch das Bezugszeichen314 bezeichnet) stellt der Benutzer306 dem Betriebssystem-Implementierungs-Tool301 das kryptografische Kennwort oder den Berechtigungsnachweis bereit. In einem fünften Schritt5 (auch als316 bezeichnet) lädt das Tool das virtuelle Platten-Image herunter und entschlüsselt es unter Verwendung des kryptografischen Kennworts oder Berechtigungsnachweises und des Entschlüsselungsmoduls303 . Nachdem das virtuelle Platten-Image entschlüsselt wurde, wird in Schritt6 (auch als318 bezeichnet) das Implementieren des virtuellen Systems am entschlüsselten virtuellen Platten-Image fortgesetzt. - Die
4a bis4e veranschaulichen ein Verfahren zur Verschlüsselung eines virtuellen Platten-Image auf der Grundlage von Blöcken gemäß einer Ausführungsform der Erfindung. In4a werden eine virtuelle Platte400 und ein virtuelles Platten-Image402 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 in4b veranschaulicht. Am Ende der virtuellen Platte400 wird ein Bereich mit leeren Betriebssystemblöcken404 erzeugt. In einem nächsten Schritt wird das virtuelle Platten-Image in einen ersten Teil406 und einen zweiten Teil408 unterteilt. Der erste Teil des virtuellen Platten-Image406 wird in die leeren Betriebssystemblöcke404 am Ende der virtuellen Platte400 kopiert. - In
4d wird gezeigt, dass das Verschlüsselungs-Tool einen Entschlüsselungs-Master-Bootdatensatz410 und ein Entschlüsselungsprogramm412 in einen ersten und zweiten Teil der virtuellen Platte400 kopiert.4e veranschaulicht den letzten Schritt. Das Verschlüsselungs-Tool oder die Verschlüsselungssoftware verschlüsselt den ersten Teil des virtuellen Platten-Image406' und verschlüsselt den zweiten Teil des virtuellen Platten-Image408' . Alle Blöcke des verschlüsselten virtuellen Platten-Image406' ,408' können verschlüsselt werden, oder die Blöcke können selektiv verschlüsselt werden. Auch in4e wird die virtuelle Platte400 in fünf Abschnitte unterteilt gezeigt. Der erste Abschnitt der virtuellen Platte414 enthält den Entschlüsselungs-Master-Bootdatensatz410 . Der zweite Abschnitt der virtuellen Platte416 enthält das Entschlüsselungsprogramm412 . Der dritte Abschnitt der virtuellen Platte418 enthält den verschlüsselten 408' zweiten Teil des virtuellen Platten-Image. Der vierte Abschnitt der virtuellen Platte420 enthält den verschlüsselten 406' ersten Teil des virtuellen Platten-Image. Der fünfte Abschnitt der virtuellen Platte422 liegt am Ende der virtuellen Platte400 . In verschiedenen Ausführungsformen kann der fünfte Abschnitt422 Daten zur Aufzeichnung des Entschlüsselungsstatus, Protokolldaten, bei der Entschlüsselung verwendete temporäre Daten und Kombinationen daraus enthalten. -
5a bis5d veranschaulichen die Entschlüsselung des virtuellen Platten-Image406' ,408' einer virtuellen Platte400 , wenn sie von einer virtuellen Maschine aus gebootet wird.5a ist mit4e identisch. In einem ersten Schritt startet die virtuelle Maschine auf der virtuellen Platte400 und bootet den Master-Bootdatensatz410 der virtuellen Platte. Als Nächstes lädt der Master-Bootdatensatz410 das Entschlüsselungsprogramm412 . Das Entschlüsselungsprogramm412 fordert dann einen kryptografischen Berechtigungsnachweis oder ein Kennwort für die Entschlüsselung des verschlüsselten virtuellen Platten-Image406' ,408' an. In5b wird der Entschlüsselungsprozess veranschaulicht. Zwei verschiedene Ansichten der virtuellen Platte400 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 von5b ist nur der mit 4 beschriftete Block ein entschlüsselter Block500 . Der Rest des zweiten Teils des virtuellen Platten-Image ist verschlüsselt. Der untere Teil von5b zeigt, dass alle Blöcke des zweiten Teils des virtuellen Platten-Image408 entschlüsselte Blöcke500 sind. -
5c zeigt den weiteren Fortgang des Entschlüsselns der virtuellen Platte400 . Nachdem alle Blöcke des zweiten Teils des virtuellen Platten-Image408 entschlüsselt worden sind, wird das Entschlüsselungsprogramm412 in den fünften Abschnitt422 der virtuellen Platte kopiert. Als Nächstes wird ein Abschnitt des ersten Teils des virtuellen Platten-Image406' entschlüsselt und in den zweiten Abschnitt416 der virtuellen Platte kopiert. Der Rest506 des ersten Teils des virtuellen Platten-Image406' wird entschlüsselt und in den ersten Abschnitt414 der virtuellen Platte kopiert. Der Rest des ersten Teils des virtuellen Platten-Image506 hat in dieser Ausführungsform den Master-Bootdatensatz410 überschrieben. Der verschlüsselte erste Teil des virtuellen Platten-Image406' und das Entschlüsselungsprogramm412 können überschrieben werden, wodurch leere Betriebssystemblöcke404 übrig bleiben. Die5d entspricht der4b . Diese zeigt, wie das in5 veranschaulichte Verfahren angewandt wurde, um das mindestens partiell verschlüsselte virtuelle Platten-Image402 der virtuellen Platte400 zu entschlüsseln. -
6 zeigt einen Ablaufplan, der eine Ausführungsform der Verschlüsselung eines virtuellen Platten-Image gemäß der Erfindung veranschaulicht. In Schritt600 wird eine virtuelle Platte empfangen. Die virtuelle Platte weist ein virtuelles Platten-Image auf. In Schritt602 wird die Größe der virtuellen Platte erhöht. In Schritt604 werden ein Entschlüsselungs-Master-Bootdatensatz und ein Entschlüsselungsprogramm in die virtuelle Platte geschrieben. In Schritt606 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 Schritt700 wird eine verschlüsselte virtuelle Platte empfangen. In Schritt702 wird eine virtuelle Maschine durch einen auf der virtuellen Platte enthaltenen Entschlüsselungs-Master-Bootdatensatz gestartet. In Schritt704 wird ein Verschlüsselungsschlüssel empfangen. Die virtuelle Platte weist eine mindestens partiell verschlüsselte virtuelle Platte auf. In Schritt706 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 Schritt800 wird eine verschlüsselte virtuelle Platte empfangen. In Schritt802 wird mit dem Entschlüsselungs-Master-Bootdatensatz eine virtuelle Maschine gestartet. In Schritt804 wird ein Verschlüsselungsschlüssel empfangen. In Schritt806 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 Schritt808 wird das Entschlüsselungsprogramm in einen fünften Abschnitt der virtuellen Platte kopiert. In Schritt810 wird ein Abschnitt eines ersten Teils des virtuellen Platten-Image entschlüsselt. In Schritt812 wird der entschlüsselte Abschnitt des ersten Teils des virtuellen Platten-Image in den zweiten Abschnitt der virtuellen Platte kopiert. In Schritt814 wird der Rest des ersten Teils des virtuellen Platten-Image entschlüsselt. In Schritt816 wird der entschlüsselte Rest des ersten Teils des virtuellen Platten-Image in den ersten Abschnitt der virtuellen Platte kopiert. In Schritt818 wird die virtuelle Maschine neu gebootet. Das in8 veranschaulichte Verfahren entspricht dem Verfahren, das in5 veranschaulicht wird. -
9 zeigt zwei Computersysteme, ein erstes Computersystem900 zum Verschlüsseln einer virtuellen Platte und ein zweites Computersystem902 zum Entschlüsseln einer virtuellen Platte. Zwischen dem ersten Computersystem900 und dem zweiten Computersystem902 ist eine Netzwerkkommunikation904 vorhanden. Das erste Computersystem weist eine Netzwerkschnittstelle906 zum Anschluss an das Computernetzwerk904 auf, und das zweite Computersystem902 weist eine Netzwerkschnittstelle908 zum Anschluss an das Computernetzwerk904 . Bei der Netzwerkverbindung904 kann es sich um jede Standard-Computerschnittstelle wie z. B. eine Ethernet-Verbindung oder Internet-Verbindung handeln. Das erste Computersystem900 weist einen Prozessor910 auf, der mit einer Benutzerschnittstelle912 und der Netzwerkschnittstelle906 verbunden ist. Der Prozessor910 ist auch mit einem Computermassenspeicher (computer storage)914 und einem Computerhauptspeicher (computer memory)916 verbunden. - Der Computerspeicher
914 enthält eine unverschlüsselte virtuelle Platte918 . Die unverschlüsselte virtuelle Platte enthält ein unverschlüsseltes virtuelles Platten-Image. Im Computerspeicher914 befindet sich auch ein Entschlüsselungs-Master-Bootdatensatz920 . Im Computerspeicher914 befindet sich auch ein Entschlüsselungsprogramm922 . Der Computerspeicher914 enthält auch eine verschlüsselte virtuelle Platte924 . Die verschlüsselte virtuelle Platte924 enthält einen Entschlüsselungs-Master-Bootdatensatz920 , ein Entschlüsselungsprogramm922 und ein mindestens partiell verschlüsseltes virtuelles Platten-Image923 . Die verschlüsselte virtuelle Platte924 kann auch ein mindestens partiell verschlüsseltes virtuelles Platten-Image enthalten. Der Computerhauptspeicher916 enthält ein Verschlüsselungs-Tool926 . Ein Verschlüsselungs-Tool926 ist ein Softwaremodul oder -programm, das maschinenausführbare Anweisungen enthält, die den Prozessor910 dazu veranlassen, mit der unverschlüsselten virtuellen Platte918 , dem Entschlüsselungs-Master-Bootdatensatz920 und dem Entschlüsselungsprogramm922 die verschlüsselte virtuelle Platte924 zu erzeugen. Das Verschlüsselungs-Tool926 kann verwendet werden, um die in4 und6 veranschaulichten Verfahren zu realisieren. In manchen Ausführungsformen enthält der Computerhauptspeicher916 auch ein Verschlüsselungsmodul und ein Modul zum Erzeugen von kryptografischen Berechtigungsnachweisen930 . Der Verschlüsselungsmodul928 wird zur Verschlüsselung der unverschlüsselten virtuellen Platte918 verwendet. Das Modul zum Erzeugen von kryptografischen Berechtigungsnachweisen930 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 Prozessor932 . Der Prozessor932 ist mit der Netzwerkschnittstelle908 und der Benutzerschnittstelle934 verbunden. Der Prozessor932 ist auch mit dem Computerspeicher936 und Computerhauptspeicher938 verbunden. Der Computerspeicher936 enthält die verschlüsselte virtuelle Platte924 vom ersten Computersystem900 . In dieser Ausführungsform wurde die Netzwerkverbindung904 verwendet, um die verschlüsselte virtuelle Platte924 zu übertragen. Im Computerspeicher936 ist auch ein Verschlüsselungsschlüssel944 . Der Computerhauptspeicher938 enthält ein Virtualisierungs-Modul942 . Das Virtualisierungs-Modul942 erlaubt dem Prozessor932 , ein virtuelles Computersystem auszuführen und zu betreiben. Wie zu ersehen ist, sind das Virtualisierungs-Modul942 und der Verschlüsselungsschlüssel944 alles, was benötigt wird, um die verschlüsselte virtuelle Platte924 zu entschlüsseln. Diese Figur veranschaulicht auch, wie ein Endbenutzer in der Lage sein kann, die verschlüsselte virtuelle Platte924 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)
- 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.
- 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. - 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. - Computerlesbares Speichermedium nach einem der vorherigen
Ansprüche 1 oder3 , 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. - 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.
- 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. - 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. - Computerlesbares Speichermedium nach einem der
Ansprüche 5 bis7 , 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. - 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.
- 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. - Computerlesbares Speichermedium mit einer virtuellen Platte nach
Anspruch 9 oder10 , 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. - 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.
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)
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)
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)
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 | 国际商业机器公司 | 利用引导块重定位来管理多个软件镜像的方法和系统 |
-
2011
- 2011-11-03 DE DE112011104325.2T patent/DE112011104325B4/de active Active
- 2011-11-03 CN CN201180059216.XA patent/CN103250163B/zh active Active
- 2011-11-03 US US13/884,680 patent/US9230118B2/en not_active Expired - Fee Related
- 2011-11-03 WO PCT/EP2011/069323 patent/WO2012076266A1/en active Application Filing
- 2011-11-03 GB GB1311724.7A patent/GB2499963B/en active Active
- 2011-11-03 JP JP2013542433A patent/JP5904505B2/ja active Active
-
2014
- 2014-09-08 US US14/479,475 patent/US9230113B2/en not_active Expired - Fee Related
-
2015
- 2015-10-22 US US14/920,717 patent/US9626302B2/en active Active
Patent Citations (5)
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 |