WO2014191178A1 - Bereitstellung von zufallsbitfolgen in einer virtuellen ausführungsumgebung - Google Patents

Bereitstellung von zufallsbitfolgen in einer virtuellen ausführungsumgebung Download PDF

Info

Publication number
WO2014191178A1
WO2014191178A1 PCT/EP2014/059485 EP2014059485W WO2014191178A1 WO 2014191178 A1 WO2014191178 A1 WO 2014191178A1 EP 2014059485 W EP2014059485 W EP 2014059485W WO 2014191178 A1 WO2014191178 A1 WO 2014191178A1
Authority
WO
WIPO (PCT)
Prior art keywords
virtual
random bit
unit
physical process
hardware
Prior art date
Application number
PCT/EP2014/059485
Other languages
English (en)
French (fr)
Inventor
Rainer Falk
Steffen Fries
Original Assignee
Siemens Aktiengesellschaft
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens Aktiengesellschaft filed Critical Siemens Aktiengesellschaft
Publication of WO2014191178A1 publication Critical patent/WO2014191178A1/de

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/588Random number generators, i.e. based on natural stochastic processes

Definitions

  • the invention relates to a method and a device for providing random bit sequences in a virtual execution environment of a computer system, having a computer system which provides a common hardware and a plurality of virtual units for executing one or more application programs.
  • Random bit sequences form a basis in cryptography, particularly key management for security services such as integrity protection and encryption of data. Random bit sequences are needed, in particular, to generate a cryptographic key or to detect a nonce.
  • a physical random source is usually required.
  • a physical process is used as a random source.
  • radioactive decay, semiconductor noise, free oscillating oscillators or fluctuations in the actual duration of a time period measured with a timer are mentioned.
  • the fluctuation of a response time when polling a hard disk or an arrival time of a data packet on a network adapter may be used.
  • pseudo-Zufausgri which are determined starting from a starting value via a deterministic calculation function.
  • a so-called pseudo-random number generator accordingly determines a sequence of pseudo-random numbers. These have statistical properties maintained by random bit sequences.
  • pseudo- Random numbers for some applications provide sufficient random data, they can not completely replace real random bit sequences, such as physical random numbers, because at least for the determination of a start value, a real random or a true random bit sequence is needed.
  • deterministic cryptographic random number generators are known, which also deterministically calculate a random bit sequence starting from a starting value.
  • the random bit strings have special properties required for use in cryptographic protocols.
  • at least the seed is determined by a source of true random bit sequences, such as a physical random number generator.
  • Today's computer systems or devices with microprocessor devices are often designed as a virtual execution environment. These include a common hardware such as processors for computing and control tasks, one or more storage units and / or network adapter for transmitting or receiving data from a communication partner, as well as input and output devices such as keyboard, mouse, touch-sensitive monitors, etc .. Virtualization of the computer system allows several quasi-independent systems to run side by side on this common hardware.
  • FIGS. 1 and 2 show examples of a first computer system 1 and a second computer system 10 each having a virtual execution environment 4, 12.
  • a virtualization unit 3 in the form of a monitoring unit for virtual units, for example a hosted virtual machine monitor, is implemented in the first computer system 1.
  • virtualization unit 3 provides resource distribution and runtime adaptation between a virtual resource Execution environment 4, here, for example, a first and a second virtual unit 5, 6, and the common hardware 2 ready.
  • a virtual resource Execution environment 4 here, for example, a first and a second virtual unit 5, 6, and the common hardware 2 ready.
  • application programs 7, 8 can be implemented and executed.
  • applications 9 can also communicate directly with the virtualization unit 3 and, moreover, with the common hardware 2 and access the various hardware units of the common hardware 2.
  • Each virtual unit 5, 6 has its own guest operating system, which regulates the access of the application programs to virtual hardware units. The guest operating system does not necessarily need to know if it is accessing real or virtual hardware devices. This depends on the chosen virtualization technology.
  • the virtual hardware units are realized by the access to physically existing hardware units in the common hardware 2.
  • a virtualization unit 11 which is embodied here as a hypervisor, for example.
  • the hypervisor provides a runtime match between the virtual execution environment 12 and the common hardware 2.
  • the virtual execution environment 12 there are in the virtual execution environment 12 a first and a second virtual unit 5 ', 6', in each of which a guest operating system provides the access of application programs 7 ', 8' to virtual hardware units.
  • the virtual hardware units are also realized in the computer system 10 by accessing the physically existing hardware units in the common hardware 2.
  • Typical guest operating systems such as Linux, provide a hardware-based random bit string generator (eg, via the device files / dev / random and / dev / urandom) whose random source is based on physical hardware physical processes.
  • a hardware-based random bit string generator eg, via the device files / dev / random and / dev / urandom
  • These physical processes are currently not modeled.
  • only weak, that is to say predictable or not independent, random bit sequences can be used in a virtual execution environment.
  • a physical process is performed in at least one virtual hardware unit by a random bit sequence mapped by a common random bit string generator. Thereafter, virtual random bit strings are generated using the replicated physical process in each virtual unit and provided to the virtual unit application programs.
  • the random bit sequence of the common random bit string generator is a true random bit string derived by a physical process of a common hardware unit. This guarantees that the replicated physical process in at least one virtual unit of virtual hardware will be based on an actual physical process with real randomness or entropy.
  • a processor and / or a unit is the unit of the common hardware.
  • an actual response time of a virtual memory unit or an arrival time of a data packet in a virtual network adapter is supplied with the supplied random bit sequence, that is to say the random bit sequence generated by a common random bit sequence generator, in order to simulate the physical process.
  • the resulting response time or arrival time thus shows fluctuations which correspond to the actual physical fluctuations of the corresponding hardware unit in the common hardware.
  • the random bit sequence generated by the simulated random process in the virtual unit is postprocessed by a deterministic calculation function.
  • a deterministic calculation function is a key derivation function or a cryptographic function. Both functions generate from a single start value, in this case a virtual random bit sequence, a multiplicity of random bit sequences which correspond to cryptographic requirements.
  • a randomness or entropy of the generated virtual random bit sequences in a virtual unit is provided depending on the estimated real randomness or entropy of the physical process of the common hardware unit.
  • a guest operating system in a virtual appliance is not "pre-populated" with a higher degree of randomness or entropy than is actually present.
  • a device for providing random bit sequences in a virtual execution environment has common hardware, a common random bit sequence generator and a virtualization unit.
  • Virtualization Unit provides multiple virtual units to run one or more application programs.
  • each virtual unit at least one virtual hardware unit is modeled, which has a physical process, wherein the physical process is simulated by a random bit sequence of a common random bit sequence generator and the simulated physical process of the virtual hardware unit for generating virtual random bit sequences for the application programs of the virtual unit is used.
  • the common random bit string generator generates true random bit strings from a physical process of a common hardware unit.
  • the unit of the common hardware is preferably a processor and / or an input / output unit and / or a network adapter and / or a memory unit. These units have physical processes that occur with a chance.
  • a virtualization unit is designed as a monitoring unit for virtual units or a hosted virtual machine monitor or as a separation unit or a hypervisor. Furthermore, a computer program with program instructions for carrying out the method described, as well as a data carrier which stores a corresponding computer program, claimed.
  • FIG. 1 is a schematic representation of a first virtual execution environment computer system for illustrating the prior art
  • FIG. 2 is a schematic illustration of a second virtual execution environment computer system for illustrating the prior art
  • FIG. 1 is a schematic representation of a first virtual execution environment computer system for illustrating the prior art
  • FIG. 2 is a schematic illustration of a second virtual execution environment computer system for illustrating the prior art
  • FIG. 1 is a schematic representation of a first virtual execution environment computer system for illustrating the prior art
  • FIG. 2 is a schematic illustration of a second virtual execution environment computer system for illustrating the prior art
  • Fig. 4 shows an embodiment of an inventive
  • the initial state 21 there is a computer system which provides common hardware and a plurality of virtual units for executing one or more application programs.
  • a common random bit sequence generator is implemented that generates random bit strings.
  • a physical process for at least one virtual hardware unit is now modeled in each virtual unit by a random bit sequence which was generated by the common random bit string generator.
  • virtual random bit sequences are generated using the simulated physical process and provided in step 24 to the application programs of the virtual unit for use.
  • strong random bit strings may be provided by a guest operating system or by the "virtual" random bit string generator implemented therein without modifying the guest operating system to provide physical processes of virtual hardware units
  • a virtual appliance application program that uses strong random bit sequences that can be used for security services such as integrity protection or encryption of data.
  • the generated virtual random bit strings are strong random numbers when the randomized random sequences generated by the Random bit sequences generated by bit string generator are derived from a physical process of a common hardware unit.
  • the random bit strings provided by the common random bit string generator are true random bit strings and can generate, as starting values in deterministic computational functions of, for example, a pseudorandom number generator, a number of random bit strings having sufficient randomness.
  • the common random bit sequence generator preferably accesses physical processes in, for example, a processor and / or an input / output unit and / or a memory unit and / or a network adapter of the common hardware.
  • an actual response time of a virtual memory unit or an actual time of arrival of the data packet in a virtual network adapter is supplied with the supplied random bit sequence for simulating the physical process, for example.
  • randomness or entropy is preferably simulated only to the extent that estimated real entropy is supplied by the common random bit string generator. This prevents weak random bit strings that are traceable and not independent from each other from being generated.
  • a deterministic calculation function for example a key derivation function or a cryptographic function.
  • Fig. 4 shows an embodiment of the invention
  • a Device with a common hardware 2 which comprises, for example, at least one memory unit 41, at least one network adapter 42 and a processor 43.
  • a Virtualization unit 54 which comprises a common operating system with, for example, a hypervisor or with a monitoring unit for virtual units, for example a hosted virtual machine monitor, one or more virtual units 51, 52 can be formed.
  • each virtual unit 51, 52 is a separate virtual hardware 45, 45 ', for example, each a virtual network adapter 56, 56' and each virtual memory unit 55, 55 'replicated.
  • a guest operating system 46, 46 ' is implemented.
  • a guest operating system 46 facilitates the execution of application programs 48 in the first virtual unit 51, a guest operating system 46 'enables the operation of application programs 49, 50 in the second virtual unit 52.
  • the guest operating systems 46, 46' each comprise a virtual random bit string generator 47, 47 'that generates "virtual" random bit strings using a physical process derived from virtual hardware 45, 45' and provides for use to application programs 48, 49, 50.
  • the virtualization unit 54 includes a common random bit string generator 44 that generates true random bit strings based on a physical process generated, for example, by access times or response times of the network adapters 42 or the storage units 41.
  • a common random bit string generator 44 that generates true random bit strings based on a physical process generated, for example, by access times or response times of the network adapters 42 or the storage units 41.
  • at least one physical process is simulated on the virtual hardware 45, 45 ', for example a latency of an actual response time of a virtual memory unit 55, 55' or an arrival time of a data packet at one virtual network adapter 56, 56 '.
  • This latency, or physical process, can be generated by comparing the actual response time of a simulated memory unit 55, 55 'or the time of arrival of data packets to a network adapter 56, 56' with a random bit string determined by the common random bit sequence. generator 44 was generated, is applied. For example, if a command to read a sector of a virtual memory unit 55, 55 'is executed within a virtual unit 51, 52, the response will be determined by the
  • a computer system may be a computer with one or more processor cores or also a controller which includes microprocessors for controlling, for example, sensors and actuators.
  • the invention is not limited to the exemplary embodiments described.

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

Im erfindungsgemäßen Verfahren zur Bereitstellung von Zufallsbitfolgen in einer virtuellen Ausführungsumgebung (53) eines Rechnersystems (40), das eine gemeinsame Hardware (2) und mehrere virtuelle Einheiten (51, 52) zur Ausführung eines oder mehrerer Anwendungsprogramme (48, 49, 50) bereitstellt, wird in jeder virtuellen Einheit (51, 52) ein physikalischer Prozess in mindestens einer virtuellen Hardware-Einheit (45, 45') durch eine Zufallsbitfolge, die von einem gemeinsamen Zufallsbitfolgengenerator (44) erzeugt wird, nachgebildet. Danach werden virtuelle Zufallsbitfolgen unter Verwendung des nachgebildeten physikalischen Prozesses in jeder virtuellen Einheit (51, 52) erzeugt und für die Anwendungsprogramme (48, 49, 50) der virtuellen Einheit (51, 52) bereitgestellt. Dies ermöglicht den Einsatz von herkömmlichen Betriebssystemen als Gastbetriebssystem (46, 46') in einer virtuellen Einheit (51, 52), ohne das Gastbetriebssystem (46, 46') daran anzupassen, dass keine physikalischen Prozesse und somit keine echten Zufallsbitfolgen in der virtuellen Einheit (51, 52) selbst erzeugt werden.

Description

BEREITSTELLUNG VON ZUFALLSBITFOLGEN IN EINER VIRTUELLEN AUSFÜHRUNGSUMGEBUNG
Beschreibung
Verfahren und Vorrichtung zur Bereitstellung von Zufallsbitfolgen in einer virtuellen Ausführungsumgebung eines Rechner- Systems
Die Erfindung betrifft ein Verfahren und eine Vorrichtung zur Bereitstellung von Zufallsbitfolgen in einer virtuellen Ausführungsumgebung eines Rechnersystems, mit einem Rechnersys- tem das eine gemeinsame Hardware und mehrere virtuelle Einheiten zur Ausführung eines oder mehrerer Anwendungsprogramme bereitstellt .
Zufallsbitfolgen bilden eine Grundlange in der Kryptographie, insbesondere beim Schlüsselmanagement für Sicherheitsdienste wie den Integritätsschutz und die Verschlüsselung von Daten. Zufallsbitfolgen werden insbesondere benötigt, um einen kryp- tographischen Schlüssel zu erzeugen oder um eine Nonce zu ermitteln .
Um echte Zufallsbitfolgen zu erzeugen, ist in der Regel eine physikalische Zufallsquelle erforderlich. Bei einem physikalischen Zufallszahlen-Generator wird ein physikalischer Pro- zess als Zufallsquelle verwendet. Als Beispiel für zufallsbe- stimmte physikalische Prozesse sei ein radioaktiver Zerfall, Rauschen von Halbleitern, frei schwingende Oszillatoren oder auch Schwankungen der tatsächlichen Zeitdauer einer mit einem Zeitgeber gemessenen Zeitdauer genannt. Es kann beispielsweise die Schwankung einer Antwortzeit bei der Abfrage einer Festplatte oder eines Ankunftszeitpunkts eines Datenpaketes an einem Netzwerkadapter verwendet werden.
Es gibt weiterhin sogenannte Pseudo-Zufauszahlen, die ausgehend von einem Startwert über eine deterministische Berech- nungsfunktion ermittelt werden. Ein sogenannter Pseudo- Zufallszahlengenerator ermittelt entsprechend eine Folge von Pseudo-Zufauszahlen . Diese weisen von Zufallsbitfolgen gewartete statistische Eigenschaften auf. Obwohl Pseudo- Zufallszahlen für manche Anwendungen ausreichend zufällige Daten liefern, können sie echte Zufallsbitfolgen, wie beispielsweise physikalische Zufallszahlen, nicht vollständig ersetzen, denn zumindest für die Bestimmung eines Startwertes wird ein echter Zufall beziehungsweise eine echte Zufallsbitfolge benötigt.
Des Weiteren sind deterministische kryptographische Zufallszahlen-Generatoren bekannt, die ebenfalls deterministisch ausgehend von einem Startwert eine Zufallsbitfolge berechnen. Die Zufallsbitfolgen weisen besondere Eigenschaften auf, die für die Verwendung in kryptographischen Protokollen erforderlich sind. Auch hier wird zumindest der Startwert mittels einer Quelle für echte Zufallsbitfolgen, wie zum Beispiel einem physikalischen Zufallszahlengenerator, ermittelt.
Heutige Rechnersysteme bzw. Geräte mit Mikroprozessoreinrichtungen sind häufig als virtuelle Ausführungsumgebung ausgestaltet. Diese umfassen eine gemeinsame Hardware wie zum Bei- spiel Prozessoren für Rechen- und Steuerungsaufgaben, eine oder mehrere Speichereinheiten und/oder Netzwerkadapter zur Übermittlung beziehungsweise zum Empfangen von Daten von einem Kommunikationspartner, sowie Ein- und Ausgabegeräte wie Tastatur, Maus, berührungssensitive Monitore, etc. Durch eine Virtualisierung des Rechnersystems können mehrere quasi unabhängige Systeme nebeneinander auf dieser gemeinsamen Hardware ausgeführt werden.
In Figur 1 und Figur 2 sind Beispiele für ein erstes Rechner- System 1 und ein zweites Rechnersystem 10 jeweils mit einer virtuellen Ausführungsumgebung 4, 12 dargestellt.
Auf einer gemeinsamen Hardware 2 ist dabei im ersten Rechnersystem 1 eine Virtualisierungseinheit 3 in Form einer Überwa- chungseinheit für virtuelle Einheiten, beispielsweise ein Hosted Virtual Machine Monitor, implementiert. Die
Virtualisierungseinheit 3 stellt beispielsweise eine Ressourcenverteilung und Laufzeitanpassung zwischen einer virtuellen Ausführungsumgebung 4, hier beispielsweise einer ersten und einer zweiten virtuellen Einheit 5, 6, und der gemeinsamen Hardware 2 bereit. In jeder virtuellen Einheit 5, 6 können eine oder mehrere Anwendungsprogramme 7 , 8 implementiert und ausgeführt werden. Daneben können Anwendungen 9 auch direkt mit der Virtualisierungseinheit 3 und darüber mit der gemeinsamen Hardware 2 kommunizieren und auf die verschiedenen Hardware-Einheiten der gemeinsamen Hardware 2 zugreifen. In jeder virtuellen Einheit 5, 6 ist ein eigenes Gastbetriebs - System vorhanden, das den Zugriff der Anwendungsprogramme auf virtuelle Hardware -Einheiten regelt. Dabei muss das Gastbetriebssystem nicht unbedingt Kenntnis davon haben, ob es auf reale oder virtuelle Hardware-Einheiten zugreift. Dies ist abhängig von der gewählten Virtualisierungstechnologie . Die virtuellen Hardware-Einheiten werden dabei durch den Zugriff auf physikalisch vorhandene Hardware-Einheiten in der gemeinsamen Hardware 2 realisiert.
Im zweiten Rechnersystem 10 mit virtueller Ausführungsumge - bung 12 wird diese durch eine Virtualisierungseinheit 11, die hier beispielsweise als Hypervisor ausgebildet ist, realisiert. Hier stellt der Hypervisor eine Laufzeitanpassung zwischen der virtuellen Ausführungsumgebung 12 und der gemeinsamen Hardware 2 bereit. In gleicher Weise wie im Rechnersystem 1 sind in der virtuellen Ausführungsumgebung 12 eine erste und eine zweite virtuelle Einheit 5', 6' vorhanden, in denen jeweils ein Gastbetriebssystem den Zugriff von Applikations - Programmen 7 ' , 8' auf virtuelle Hardware -Einheiten bereitstellt. Wie im ersten Rechnersystem 1 werden auch im Rechner- System 10 die virtuellen Hardware-Einheiten durch Zugriffe auf die physikalisch vorhandenen Hardware-Einheiten in der gemeinsamen Hardware 2 realisiert.
Übliche Gastbetriebssysteme wie zum Beispiel Linux stellen einen hardwarebasierten Zufallsbitfolgengenerator (z.B. über die Gerätedateien /dev/random und /dev/urandom) , dessen Zufallsquelle auf physikalische Prozesse einer realen Hardware basiert, bereit. In einer virtuellen Ausführungsumgebung wer- den diese physikalischen Prozesse derzeit nicht nachgebildet. Dadurch kann es dazu kommen, dass in einer virtuellen Ausführungsumgebung lediglich schwache, das heißt vorhersehbare oder nicht voneinander unabhängige Zufallsbitfolgen, verwen- det werden.
Es ist daher die Aufgabe der vorliegenden Erfindung auch innerhalb einer virtuellen Einheit sichere, das heißt voneinander unabhängige, auf echten Zufallsbitfolgen basierende Zu- fallsbitfolgen bereitzustellen.
Die Aufgabe wird durch die in den unabhängigen Ansprüchen beschriebenen Maßnahmen gelöst. In den Unteransprüchen sind vorteilhafte Weiterbildungen der Erfindung dargestellt.
Im erfindungsgemäßen Verfahren zur Bereitstellung von Zufallsbitfolgen in einer virtuellen Ausführungsumgebung eines Rechnersystems, das eine gemeinsame Hardware und mehrere virtuelle Einheiten zur Ausführung eines oder mehrerer Anwen- dungsprogramme bereitstellt, wird in jeder virtuellen Einheit ein physikalischer Prozess in mindestens einer virtuellen Hardware-Einheit durch eine Zufallsbitfolge, die von einem gemeinsamen Zufallsbitfolgengenerator erzeugt wird, nachgebildet. Danach werden virtuelle Zufallsbitfolgen unter Ver- wendung des nachgebildeten physikalischen Prozesses in jeder virtuellen Einheit erzeugt und für die Anwendungsprogramme der virtuellen Einheit bereitgestellt.
Somit werden in einer virtuellen Einheit starke, das heißt zufällige und voreinander unabhängige, auf einer echten Zufallsbitfolge basierende Zufallsbitfolgen, erzeugt. Dies wird selbst dann erreicht, wenn ein nicht angepasstes Gastbetriebssystem verwendet wird, das die Zufallsbitfolgen abhängig von erwarteten physikalischen Prozessen erzeugt. Somit können übliche Betriebssysteme ohne zusätzliche Anpassung auch in virtuellen Einheiten als Gastbetriebssysteme eingesetzt werden und deren Zufallsbitfolgengeneratoren unverändert genutzt werden ohne eine Einschränkung in der Zuverläs- sigkeit und Zufälligkeit der erzeugten virtuellen Zufallsbitfolgen erwarten zu müssen.
In einer vorteilhaften Ausführungsform ist die Zufallsbitfol - ge des gemeinsamen Zufallsbitfolgengenerators eine echte Zufallsbitfolge, die durch einen physikalischen Prozess einer Einheit der gemeinsamen Hardware abgeleitet wird. Dies garantiert, dass der nachgebildete physikalische Prozess in mindestens einer virtuellen Hardware-Einheit einer virtuellen Einheit auf einen tatsächlich vorhandenen physikalischen Prozess mit einer realen Zufälligkeit beziehungsweise Entropie basiert .
In einer vorteilhaften Ausführungsform wird als Einheit der gemeinsamen Hardware ein Prozessor und/oder eine Ein-
/Ausgabeeinheit und/oder ein Netzwerkadapter und/oder eine Speichereinheit verwendet.
In einer besonders vorteilhaften Ausführungsform wird zur Nachbildung des physikalischen Prozesses eine tatsächliche Antwortzeit einer virtuellen Speichereinheit oder eines Ankunftszeitpunkts eines Datenpakets in einem virtuellen Netzwerkadapter mit der gelieferten Zufallsbitfolge, das heißt der Zufallsbitfolge, die von einem gemeinsamen Zufallsbitfol - gengenerator erzeugt wurde, beaufschlagt. Die daraus gewonnene Antwortzeit beziehungsweise Ankunftszeit zeigt somit Schwankungen, die den tatsächlich auftretenden physikalischen Schwankungen der entsprechenden Hardware -Einheit in der gemeinsamen Hardware entsprechen.
In einer vorteilhaften Ausführungsform wird zur Erzeugung der virtuellen Zufallsbitfolge die durch den nachgebildeten Zu- fallsprozess in der virtuellen Einheit erzeugte Zufallsbitfolge durch eine deterministische Berechnungsfunktion nach- bearbeitet. Dies ermöglicht die Erzeugung einer großen Anzahl von virtuellen Zufallsbitfolgen, um den Bedarf durch das eine oder die mehreren Anwendungsprogramme zu befriedigen. Vorteilhaft ist es ebenso, wenn die deterministische Berechnungsfunktion eine Schlüssel-Ableitungsfunktion oder eine kryptographische Funktion ist. Beide Funktionen erzeugen aus einem einzigen Startwert, hier einer virtuellen Zufallsbit- folge, eine Vielzahl von Zufallsbitfolgen, die kryptographi - sehen Anforderungen entsprechen.
In einer vorteilhaften Ausführungsform wird eine Zufälligkeit beziehungsweise Entropie der erzeugten virtuellen Zufallsbit- folgen in einer virtuellen Einheit abhängig von der geschätzten realen Zufälligkeit beziehungsweise Entropie des physikalischen Prozesses der Einheit der gemeinsamen Hardware bereitgestellt. Somit wird einem Gastbetriebssystem in einer virtuellen Einheit nicht ein höheres Maß an Zufälligkeit be- ziehungsweise Entropie „vorgespielt" als tatsächlich vorhanden ist.
Eine erfindungsgemäße Vorrichtung zur Bereitstellung von Zufallsbitfolgen in einer virtuellen Ausführungsumgebung weist eine gemeinsame Hardware, einen gemeinsamen Zufallsbitfolgen- generator und eine Virtualisierungseinheit auf. Die
Virtualisierungseinheit stellt mehrere virtuelle Einheiten zur Ausführung eines oder mehrerer Anwendungsprogramme bereit. Dabei ist in jeder virtuellen Einheit mindestens eine virtuelle Hardware -Einheit nachgebildet, die einen physikalischen Prozess aufweist, wobei der physikalische Prozess durch eine Zufallsbitfolge eines gemeinsamen Zufallsbitfolgengene- rators nachgebildet ist und der nachgebildete physikalische Prozess der virtuellen Hardware -Einheit zur Erzeugung von virtuellen Zufallsbitfolgen für die Anwendungsprogramme der virtuellen Einheit verwendet wird. Dies ermöglicht den Einsatz von herkömmlichen Betriebssystemen als Gastbetriebssystem in einer virtuellen Einheit, ohne das Gastbetriebssystem daran anzupassen, dass keine physikalischen Prozesse und so- mit keine echten Zufallsbitfolgen in der virtuellen Einheit selbst erzeugt werden. In einer vorteilhaften Ausführungsform der Vorrichtung erzeugt der gemeinsame Zufallsbitfolgengenerator echte Zufallsbitfolgen aus einem physikalischen Prozess einer Einheit der gemeinsamen Hardware.
Als Einheit der gemeinsamen Hardware dient dabei vorzugsweise ein Prozessor und/oder eine Ein- /Ausgabeeinheit und/oder ein Netzwerkadapter und/oder eine Speichereinheit. Diese Einheiten weisen physikalische Prozesse auf, die mit einer Zufäl- ligkeit auftreten.
In einer vorteilhaften Ausführungsform des Rechnersystems ist eine Virtualisierungseinheit als eine Überwachungseinheit für virtuelle Einheiten beziehungsweise ein Hosted Virtual Machi- ne Monitor oder als eine Separierungseinheit beziehungsweise ein Hypervisor ausgebildet. Des Weiteren werden ein Computerprogramm mit Programmbefehlen zur Durchführung des beschriebenen Verfahrens, sowie ein Datenträger, der ein entsprechendes Computerprogramm speichert, beansprucht.
Eine Ausführungsform des erfindungsgemäßen Verfahrens sowie der erfindungsgemäßen Vorrichtung sind in den Zeichnungen beispielhaft dargestellt und werden anhand der nachfolgenden Beschreibung näher erläutert. Es zeigen:
Fig. 1 ein erstes Rechnersystem mit virtueller Ausführungsumgebung zur Veranschaulichung des Stands der Technik in schematischer Darstellung; Fig. 2 ein zweites Rechnersystem mit virtueller Ausführungsumgebung zur Veranschaulichung des Stands der Technik in schematischer Darstellung;
Fig. 3 ein Ausführungsbeispiel des erfindungsgemäßen Verfahrens als Ablaufdiagramm; und
Fig. 4 ein Ausführungsbeispiel einer erfindungsgemäßen
Vorrichtung in schematischer Darstellung. Einander entsprechende Teile sind in allen Figuren mit den gleichen Bezugszeichen versehen. Eine vorteilhafte Ausführungsform des erfindungsgemäßen Verfahrens wird nun anhand der Fig. 3 beschrieben. Im Verfahren 20 zur Bereitstellung von Zufallsbitfolgen in einer virtuellen Ausführungsumgebung eines Rechnersystems liegt im Ausgangszustand 21 ein Rechnersystem vor, das eine gemeinsame Hardware und mehrere virtuelle Einheiten zur Ausführung eines oder mehrerer Anwendungsprogramme bereitstellt. In einer Virtualisierungseinheit , die Anpassungen zwischen den einzelnen virtuellen Einheiten und der gemeinsamen Hardware bereitstellt, ist ein gemeinsamer Zufallsbitfolgengenerator imple- mentiert, der Zufallsbitfolgen erzeugt.
In einem ersten Verfahrensschritt 22 wird nun in jeder virtuellen Einheit ein physikalischer Prozess für mindestens eine virtuelle Hardware -Einheit durch eine Zufallsbitfolge nachge- bildet, die von dem gemeinsamen Zufallsbitfolgengenerator erzeugt wurde. In jeder virtuellen Einheit werden im darauf folgenden Verfahrensschritt 23 virtuelle Zufallsbitfolgen unter Verwendung des nachgebildeten physikalischen Prozesses erzeugt und im Verfahrensschritt 24 den Anwendungsprogrammen der virtuellen Einheit zur Verwendung bereitgestellt. Somit können in jeder virtuellen Einheit selbst starke Zufallsbitfolgen durch ein Gastbetriebssystem bzw. durch den darin implementierten „virtuellen" Zufallsbitfolgengenerator bereitgestellt werden, ohne das Gastbetriebssystem dahingehend zu modifizieren, dass keine physikalischen Prozesse von virtuellen Hardware-Einheiten bereitgestellt werden. Somit verfügt im Zustand 25 jedes Anwendungsprogramm einer virtuellen Einheit über starke Zufallsbitfolgen, die für Sicherheitsdienste wie den Integritätsschutz oder die Verschlüsselung von Daten verwendet werden können.
Insbesondere sind die erzeugten virtuellen Zufallsbitfolgen starke Zufallszahlen, wenn die von dem gemeinsamen Zufalls- bitfolgengenerator erzeugten Zufallsbitfolgen von einem physikalischen Prozess einer Einheit der gemeinsamen Hardware abgeleitet werden. In diesem Fall sind die von dem gemeinsamen Zufallsbitfolgengenerator gelieferten Zufallsbitfolgen echte Zufallsbitfolgen und können als Startwert in deterministischen Berechnungsfunktionen beispielsweise eines Pseudo- Zufallszahlengenerators eine Anzahl von Zufallsbitfolgen erzeugen, die eine ausreichende Zufälligkeit aufweisen. Dabei greift der gemeinsame Zufallsbitfolgengenerator bevorzugt auf physikalische Prozesse in beispielsweise einem Prozessor und/oder einer Ein- /Ausgabeeinheit und/oder einer Speichereinheit und/oder einem Netzwerkadapter der gemeinsamen Hardware zu. Im Verfahrensschritt 22 wird zur Nachbildung des physikalischen Prozesses beispielsweise eine tatsächliche Antwortzeit einer virtuellen Speichereinheit oder ein tatsächlicher Ankunftszeitpunkt des Datenpakets in einem virtuellen Netzwerkadapter mit der gelieferten Zufallsbitfolge beaufschlagt.
In der virtuellen Einheit wird bevorzugt lediglich in dem Umfang Zufälligkeit beziehungsweise Entropie nachgebildet, wie geschätzte reale Entropie vom gemeinsamen Zufallsbitfolgengenerator geliefert wird. Dadurch wird verhindert, dass schwa- che Zufallsbitfolgen, die nachvollziehbar und nicht voneinander unabhängig sind, erzeugt werden.
Zur Erzeugung einer ausreichenden Anzahl von virtuellen Zufallsbitfolgen in Verfahrensschritt 23 werden die erzeugten virtuellen Zufallsbitfolgen in der virtuellen Einheit durch eine deterministische Berechnungsfunktion, beispielsweise einer Schlüssel -Ableitungsfunktion oder einer kryptographischen Funktion, nachbearbeitet. Fig. 4 zeigt ein Ausführungsbeispiel der erfindungsgemäßen
Vorrichtung mit einer gemeinsamen Hardware 2, die beispielsweise mindestens eine Speichereinheit 41, mindestens einen Netzwerkadapter 42 und einen Prozessor 43 umfasst . Durch eine Virtualisierungseinheit 54, die ein gemeinsames Betriebssystem mit beispielsweise einem Hypervisor oder mit einer Überwachungseinheit für virtuelle Einheiten, beispielsweise einen Hosted Virtual Machine Monitor, umfasst, können eine oder mehrere virtuelle Einheiten 51, 52 gebildet werden. In jeder virtuelle Einheit 51, 52 wird eine eigene virtuelle Hardware 45, 45' zum Beispiel je ein virtueller Netzwerkadapter 56, 56' und je eine virtuelle Speichereinheit 55, 55' nachgebildet. In jeder virtuellen Einheit 51, 52 ist jeweils ein Gast- betriebssystem 46, 46' implementiert. Ein Gastbetriebssystem 46 ermöglicht den Ablauf von Anwendungsprogrammen 48 in der ersten virtuellen Einheit 51, ein Gastbetriebssystem 46' ermöglicht den Ablauf von Anwendungsprogramme 49, 50 in der zweiten virtuellen Einheit 52. Die Gastbetriebssysteme 46, 46' umfassen jeweils einen virtuellen Zufallsbitfolgengenera- tor 47, 47', die unter Verwendung eines physikalischen Prozesses, der von einer virtuellen Hardware 45, 45 'abgeleitet wird, „virtuelle" Zufallsbitfolgen erzeugt und zur Verwendung an die Anwendungsprogramme 48, 49, 50 bereitstellt.
Die Virtualisierungseinheit 54 wiederum umfasst einen gemeinsamen Zufallsbitfolgengenerator 44, der echte Zufallsbitfolgen basierend auf einem physikalischen Prozess, der beispielsweise durch Zugriffszeiten oder Antwortzeiten der Netz- werkadapter 42 oder der Speichereinheiten 41 erzeugt wird. Abhängig von den Zufallsbitfolgen, die vom gemeinsamen Zu- fallsbitfolgengenerator 44 erzeugt werden, wird auf der virtuellen Hardware 45, 45' zumindest ein physikalischer Prozess nachgebildet, beispielsweise eine Latenz einer tatsächlichen Antwortzeit einer virtuellen Speichereinheit 55, 55' oder eines AnkunftsZeitpunkts eines Datenpakets an einem virtuellen Netzwerkadapter 56, 56'.
Diese Latenz beziehungsweise der physikalische Prozess kann erzeugt werden, indem die tatsächliche Antwortzeit einer simulierten Speichereinheit 55, 55' oder der Ankunftszeitpunkt von Datenpaketen an einem Netzwerkadapter 56, 56' mit einer Zufallsbitfolge, die von dem gemeinsamen Zufallsbitfolgenge- nerator 44 erzeugt wurde, beaufschlagt wird. Wenn zum Beispiel ein Befehl zum Lesen eines Sektors einer virtuellen Speichereinheit 55, 55' innerhalb einer virtuellen Einheit 51, 52 ausgeführt wird, so wird die Antwort durch die
Virtualisierungseinheit 53 beziehungsweise den Hypervisor nicht unmittelbar bereitgestellt, sondern erst nach einer zufällig ermittelten zusätzlichen Verzögerung.
Alle beschriebenen und/oder gezeichneten Merkmale können im Rahmen der Erfindung vorteilhaft miteinander kombiniert werden. Ebenso können auch Virtualisierungseinheiten mit einer Ausprägung unterschiedlich von einem Hypervisor oder Virtual Machine Monitoring System verwendet werden. Ein Rechnersystem kann ein Computer mit einem oder mehreren Rechenkernen oder auch ein Steuerungsgerät sein, das zur Steuerung von beispielsweise Sensoren und Aktoren Mikroprozessoren umfasst. Die Erfindung ist nicht auf die beschriebenen Ausführungsbei- spiele beschränkt.

Claims

Patentansprüche
1. Verfahren zur Bereitstellung von Zufallsbitfolgen in einer virtuellen Ausführungsumgebung (53) eines Rechnersys- tem, das eine gemeinsame Hardware (2) und mehrere virtuelle Einheiten (51, 52) zur Ausführung eines oder mehrerer Anwendungsprogramme (48, 49, 50) bereitstellt, mit den folgenden Verfahrensschritten in jeder virtuellen Einheit :
- Nachbilden (22) eines physikalischen Prozesses in
mindestens einer virtuellen Hardware-Einheit (45, 45'), durch eine Zufallsbitfolge, die von einem gemeinsamen Zufallsbitfolgengenerators (43) erzeugt wurde ,
- Erzeugung (23) von virtuellen Zufallsbitfolgen unter
Verwendung des nachgebildeten physikalische Prozess und
Bereitstellen (24) der virtuellen Zufallsbitfolgen für die Anwendungsprogramme (48, 49, 50) der virtuel- len Einheit.
2. Verfahren nach Anspruch 1, wobei die Zufallsbitfolge des gemeinsamen Zufallsbitfolgengenerators (43) eine echte Zufallsbitfolge ist, die durch einen physikalischen Prozess ei- ner Einheit (41, 42, 43) der gemeinsamen Hardware (2) abgeleitet wird.
3. Verfahren nach Anspruch 1 oder 2, wobei als Einheit der gemeinsamen Hardware (2) von der der physikalische Prozess abgeleitet wird ein Prozessor (43) und/oder ein Ein-
/Ausgabeeinheit und/oder ein Netzwerkadapter (42) und/oder eine Speichereinheit (41) verwendet wird.
4. Verfahren nach Anspruch 1 oder 3, wobei zur Nachbildung des physikalischen Prozesses eine tatsächliche Antwortzeit einer virtuellen Speichereinheit (55, 55') oder eines Ankunftszeitpunktes eines Datenpakets eines virtuellen Netz- werkadapters (56, 56') mit der gelieferten Zufallsbitfolge beaufschlagt wird.
5. Verfahren nach einem der Ansprüche 1 bis 4, wobei zur Er- zeugung einer virtuellen Zufallsbitfolge die durch den virtuelle Zufallsprozess in der virtuellen Einheit (51, 52) erzeugte Zufallsbitfolge durch eine deterministische Berechnungsfunktion nachbearbeitet wird.
6. Verfahren nach Anspruch 5, wobei die deterministische Berechnungsfunktion eine Ableitungsfunktion oder eine kryptog- raphische Funktion ist.
7 . Verfahren nach Anspruch 1 bis 6, wobei eine Zufälligkeit bzw. Entropie der in einer virtuellen Einheit (51, 52) erzeugten Zufallsbitfolgen abhängig von einer geschätzten realen Zufälligkeit bzw. Entropie des physikalischen Prozess der Einheit (41, 42, 43) der gemeinsamen Hardware (2) ist.
8. Vorrichtung zur Bereitstellung von Zufallsbitfolgen in einer virtuellen Ausführungsumgebung, das eine gemeinsame Hardware (2), einen gemeinsamen Zufallsbitfolgengenerator (44) und eine Virtualisierungseinheit (54) aufweist, wobei die Virtualisierungseinheit (54) mehrere virtuelle Einheiten (51, 52) zur Ausführung einer oder mehrerer Anwendungsprogramme
(48, 49, 50) bereitstellt, wobei in jeder virtuellen Einheit (51, 52) mindestens eine virtuelle Hardwareeinheit (45, 45') nachgebildet ist, die einen physikalischen Prozess aufweist, und der physikalische Prozess durch eine Zufallsbitfolge ei- nes gemeinsamen Zufallsbitfolgengenerators (44) nachgebildet ist und der nachgebildete physikalische Prozess der virtuellen Hardwareeinheit (45, 45') zur Erzeugung von virtuellen Zufallsbitfolgen für die Anwendungsprogramme (48, 49,
50) verwendet wird.
9. Vorrichtung nach Anspruch 8, wobei ein Zufallsbitfolgengenerator (44) echte Zufallsbitfolgen aus einem physikalischen Prozess einer Einheit (41, 42, 43) der gemeinsamen Hardware (2) erzeugt.
10. Vorrichtung nach Anspruch 9, wobei eine Einheit der gemeinsamen Hardware (2) ein Prozessor (43) und/oder eine Ein- /Ausgabeeinheit und/oder ein Netzadapter (42) und/oder eine Speichereinheit (41) ist.
11. Vorrichtung nach Anspruch 8, wobei eine
Virtualisierungseinheit (54) als eine Überwachungseinheit für virtuelle Einheiten bzw. ein Hosted Virtual Machine Monitor oder als eine Separierungseinheit bzw. ein Hypervisor ausgebildet ist.
12. Vorrichtung nach einem der Ansprüche 8 bis 11, wobei die Vorrichtung (40) zur Ausführung des Verfahrens gemäß den Ansprüchen 1 bis 7 eingerichtet ist.
13. Computerprogramm mit Programmbefehlen zur Durchführung des Verfahrens nach Ansprüchen 1 bis 7 .
14. Datenträger, der ein Computerprogramm nach Anspruch 13 speichert .
PCT/EP2014/059485 2013-05-28 2014-05-08 Bereitstellung von zufallsbitfolgen in einer virtuellen ausführungsumgebung WO2014191178A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102013209915.0A DE102013209915A1 (de) 2013-05-28 2013-05-28 Verfahren und Vorrichtung zur Bereitstellung von Zufallsbitfolgen in einer virtuellen Ausführungsumgebung eines Rechnersystems
DE102013209915.0 2013-05-28

Publications (1)

Publication Number Publication Date
WO2014191178A1 true WO2014191178A1 (de) 2014-12-04

Family

ID=50732147

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2014/059485 WO2014191178A1 (de) 2013-05-28 2014-05-08 Bereitstellung von zufallsbitfolgen in einer virtuellen ausführungsumgebung

Country Status (2)

Country Link
DE (1) DE102013209915A1 (de)
WO (1) WO2014191178A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112166428A (zh) * 2018-05-17 2021-01-01 帝斯贝思数字信号处理和控制工程有限公司 用于系统的基于事件的模拟的方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111143177B (zh) * 2019-12-04 2023-08-11 中国建设银行股份有限公司 Ibm主机的rmf iii数据的收集方法、系统、装置及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090204964A1 (en) * 2007-10-12 2009-08-13 Foley Peter F Distributed trusted virtualization platform
US20110047545A1 (en) * 2009-08-24 2011-02-24 Microsoft Corporation Entropy Pools for Virtual Machines

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090204964A1 (en) * 2007-10-12 2009-08-13 Foley Peter F Distributed trusted virtualization platform
US20110047545A1 (en) * 2009-08-24 2011-02-24 Microsoft Corporation Entropy Pools for Virtual Machines

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
BRENDAN KERRIGAN ET AL: "A Study of Entropy Sources in Cloud Computers: Random Number Generation on Cloud Hosts", COMPUTER NETWORK SECURITY, vol. LNCS 7531, 17 October 2012 (2012-10-17), SPRINGER, BERLIN, DE, pages 286 - 298, XP047020114, ISBN: 978-3-642-33703-1 *
JONATHAN M MCCUNE ET AL: "TrustVisor: Efficient TCB Reduction and Attestation", IEEE SYMPOSIUM ON SECURITY AND PRIVACY 2010, 16 May 2010 (2010-05-16), IEEE, PISCATAWAY, NJ, USA, pages 143 - 158, XP031705022, ISBN: 978-1-4244-6894-2 *
LEI YU ET AL: "Security Challenges on the Clone, Snapshot, Migration and Rollback of Xen Based Computing Environments", CHINAGRID 2010, 16 July 2010 (2010-07-16), IEEE, PISCATAWAY, NJ, USA, pages 223 - 227, XP031746546, ISBN: 978-1-4244-7543-8 *
TOEGL RONALD ET AL: "Waltzing the Bear, or: A Trusted Virtual Security Module", RADIO FREQUENCY IDENTIFICATION, vol. LNCS 7868, no. 558, 13 September 2012 (2012-09-13), SPRINGER, BERLIN, DE, pages 145 - 160, XP047037748, ISSN: 0302-9743, ISBN: 978-3-642-45339-7 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112166428A (zh) * 2018-05-17 2021-01-01 帝斯贝思数字信号处理和控制工程有限公司 用于系统的基于事件的模拟的方法

Also Published As

Publication number Publication date
DE102013209915A1 (de) 2014-12-04

Similar Documents

Publication Publication Date Title
EP2899714B1 (de) Gesichertes Bereitstellen eines Schlüssels
WO2017137256A1 (de) Verfahren und ausführungsumgebung zum gesicherten ausführen von programmbefehlen
WO2018188967A1 (de) Verfahren und vorrichtung zum rechnergestützten testen einer blockkette
EP3437012B1 (de) Verfahren, prozessor und gerät zur integritätsprüfung von nutzerdaten
WO2019042607A1 (de) System und verfahren zur kryptographisch geschützten überwachung wenigstens einer komponente eines geräts oder einer anlage
EP3001313A1 (de) Verfahren zur Simulation eines Anwendungsprogramms eines elektronischen Steuergeräts auf einem Computer
EP3379351B1 (de) Verfahren zum betreiben einer automatisierungseinrichtung sowie automatisierungseinrichtung
EP3435270B1 (de) Vorrichtung und verfahren zum kryptographisch geschützten betrieb einer virtuellen maschine
DE102016210788B4 (de) Komponente zur Verarbeitung eines schützenswerten Datums und Verfahren zur Umsetzung einer Sicherheitsfunktion zum Schutz eines schützenswerten Datums in einer solchen Komponente
DE102008026409A1 (de) Bedienungstrainingsystem und Bedienungstrainingverfahren
EP3928463A1 (de) Verfahren für das konfigurieren eines sicherheitsmoduls mit mindestens einem abgeleiteten schlüssel
WO2014191178A1 (de) Bereitstellung von zufallsbitfolgen in einer virtuellen ausführungsumgebung
WO2019242972A1 (de) Kryptografiemodul und betriebsverfahren hierfür
EP4154139B1 (de) Erweiterte integritätsüberwachung eines containerabbildes
EP3752911A1 (de) Verfahren zum installieren eines programmcodepakets in ein gerät sowie gerät und kraftfahrzeug
EP3136268A1 (de) Verfahren zur sicherheitsanalyse einer logischen schaltung
DE102022200255A1 (de) Verfahren und Vorrichtung zum Verarbeiten von Daten
EP2318974B1 (de) Verfahren zum betrieb einer transaktionsbasierten ablaufsteuerung
WO2010009896A1 (de) Rechneranordnung mit automatisierter zugriffssteuerung von einer und zugriffskontrolle auf eine applikation sowie entsprechendes zugriffssteuerungs- und zugriffskontrollverfahren
EP3742319B1 (de) Seitenkanalsichere implementierung
EP3876123B1 (de) Anordnung und betriebsverfahren für einen sicheren hochfahrablauf einer elektronischen einrichtung
DE102021203940A1 (de) Verfahren und Vorrichtung zum Verarbeiten von mit einem elektronischen Gerät für ein Fahrzeug assoziierten Daten
DE102013209147A1 (de) Verfahren und Vorrichtung zur Nutzungsberechtigung des Zugriffs auf echte Zufallsbitfolgen durch mehrere Nutzer
DE102014008654A1 (de) Temporäre Berechtigung
DE102015209123A1 (de) Recheneinrichtung und Betriebsverfahren hierfür

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14724392

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14724392

Country of ref document: EP

Kind code of ref document: A1