DE112011105568T5 - Kommunizieren mit einem virtuellen vertrauten Laufzeit-Bios - Google Patents

Kommunizieren mit einem virtuellen vertrauten Laufzeit-Bios Download PDF

Info

Publication number
DE112011105568T5
DE112011105568T5 DE112011105568.4T DE112011105568T DE112011105568T5 DE 112011105568 T5 DE112011105568 T5 DE 112011105568T5 DE 112011105568 T DE112011105568 T DE 112011105568T DE 112011105568 T5 DE112011105568 T5 DE 112011105568T5
Authority
DE
Germany
Prior art keywords
bios
virtual
runtime bios
domain
trusted runtime
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.)
Withdrawn
Application number
DE112011105568.4T
Other languages
English (en)
Inventor
Jose Paulo Xavier PIRES
Valiuddin Y. Ali
James M. Mann
Chris I. Dalton
Boris Balacheff
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
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
Priority claimed from PCT/US2011/049677 external-priority patent/WO2013032442A1/en
Application filed by Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of DE112011105568T5 publication Critical patent/DE112011105568T5/de
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/572Secure firmware programming, e.g. of basic input output system [BIOS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/575Secure boot
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45541Bare-metal, i.e. hypervisor runs directly on hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0877Generation of secret information including derivation or calculation of cryptographic keys or passwords using additional device, e.g. trusted platform module [TPM], smartcard, USB or hardware security module [HSM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45587Isolation or security of virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Stored Programmes (AREA)
  • Storage Device Security (AREA)
  • Debugging And Monitoring (AREA)

Abstract

Rechensystem und Verfahren zum Kommunizieren mit einem virtuellen vertrauten Laufzeit-BIOS. Das Rechensystem kann Hardware und einen VMM (Virtual Machine Monitor) umfassen. Ein virtueller vertrauter Laufzeit-BIOS kann durch den VMM verwaltet werden. Ein Kommunikationskanal kann mit dem virtuellen vertrauten Laufzeit-BIOS kommunizieren. Der Kommunikationskanal kann von einem SSL (Secure Socket Layer) gesichert werden.

Description

  • HINTERGRUND
  • Eine elektronische Vorrichtung wie z. B. ein Computer oder sonstiges Gerät kann ein BIOS (Basic Input/Output System) umfassen, das für das Hochfahren der Vorrichtung zuständig ist. Beim Hochfahren initialisiert und konfiguriert das BIOS Komponenten der elektronischen Vorrichtung und lädt ein Betriebssystem auf der elektrischen Vorrichtung. Außerdem kann das BIOS weitere Dienste wie z. B. Stromsparfunktion, Wärmeverwaltung, BIOS-Aktualisierung usw. Bereitstellen.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Einige Ausführungsformen werden unter Bezugnahme auf die nachfolgenden Zeichnungen beschrieben:
  • 1 ist ein Blockdiagamm eines Rechensystems nach einem Ausführungsbeispiel des sicheren Kommunizierens mit einem virtuellen vertrauten Laufzeit-BIOS;
  • 2 ist ein Blockdiagamm eines Rechensystems nach einem Ausführungsbeispiel des sicheren Kommunizierens mit einem virtuellen vertrauten Laufzeit-BIOS;
  • 3 ist ein Flussdiagamm eines Verfahrens zur Sicherung der Kommunikation mit einem virtuellen vertrauten Laufzeit-BIOS gemäß einer Ausführungsform;
  • 4 ist ein Flussdiagamm eines Verfahrens zur Sicherung der Kommunikation mit einem virtuellen vertrauten Laufzeit-BIOS gemäß einer Ausführungsform;
  • 5 ist ein Flussdiagamm eines Verfahrens zur Sicherung der Kommunikation mit einem virtuellen vertrauten Laufzeit-BIOS gemäß einer Ausführungsform; und
  • 6 ist ein Blockdiagamm eines Rechensystems nach einem Ausführungsbeispiel eines computerlesbaren Datenträgers;
  • AUSFÜHRLICHE BESCHREIBUNG
  • Ein BIOS (Basic Input/Output System) ist üblicherweise der erste Code, der beim Hochfahren von einer elektronischen Vorrichtung ausgeführt wird. Beispiele der elektronischen Vorrichtung sind insbesondere ein Computer (z. B. Desktop, Notebook, Tablet, Servercomputer, usw.), ein tragbares Gerät (PDA, Smartphone, usw.), eine elektronisches Haushaltsgerät, eine Spielkonsole oder elektronisches Gerät einer sonstigen Art. Das BIOS initialisiert und konfiguriert verschiedene Hardware-Komponenten der elektronischen Vorrichtung und lädt und startet ein Betriebssystem (OS) der elektrischen Vorrichtung. Der Code des BIOS ist üblicherweise auf einem nicht flüchtigen Speicher wie z. B. einem Flash-Speicher oder sonstigen programmierbaren ROM (Read-Only Memory) gespeichert.
  • Obwohl verschiedene beispielhafte BIOS-Funktionen oben aufgeführt sind, ist anzumerken, dass auch weitere oder alternative BIOS-Funktionen in anderen Ausführungsformen einsetzbar sind.
  • Gemäß einigen Ausführungsformen können für ein robusteres Systemverhalten Funktionen des BIOS in einem virtuellen vertrauten Laufzeit-BIOS der elektronischen Vorrichtung vorgesehen sein, das sich in der privilegierten Domäne befinden kann, wobei es sich bei der privilegierten Domäne um eine Domäne der elektronischen Vorrichtung handelt, die relativ sicher ist und über bestimmte vordefinierte Privilegien verfügt, die anderen Einheiten der elektronischen Vorrichtung nicht zur Verfügung stehen. Generell ist unter ”privilegierte Domäne” eine Domäne zu verstehen, die über vordefinierte Privilegien verfügt, die es einer Einheit der Domäne ermöglichen, Funktionen in der elektronischen Vorrichtung auszuführen, die andere Einheiten (z. B. OS, Anwendungen, usw.) nicht ausführen dürfen. Außerdem verfügt eine privilegierte Domäne über einen Sicherheitsmechanismus, um sie vor unbefugten Zugriffen oder Angriffen zu schützen. Kommunikationen mit dem virtuellen vertrauten BIOS können über ein Webprotokoll erfolgen. Ein Webprotokoll ist womöglich nicht sicher und kann also zu Sicherheitslöcken führen. Gemäß einer Ausführungsform kann die Kommunikation im Wege der Verschlüsselung mit öffentlichem und privatem Schlüssel, wie z. B. SSL, gesichert werden. Durch die Sicherung der Kommunikationen mit dem virtuellen vertrauten Laufzeit-BIOS können Systemverwaltungsbefehle gesichert werden, die von einem SMM (System Management Mode) bearbeitet werden.
  • Beispiele einer privilegierten Domäne sind insbesondere eine der nachfolgend aufgeführten Domänen oder eine Kombination davon: Die Domäne 0, die häufig die erste Domäne ist, die von einem VMM (Virtual Machine Monitor, auch Hypervisor) hochgefahren wird, um Verwaltungsaufgaben zu übernehmen; ein Teil des VMM (oder Hypervisors); eine virtuelle Gastmaschine, die über vordefinierte Einstellungen verfügt, durch die die virtuelle Gastmaschine verstärkte Privilegien und/oder Sicherheit erhält; oder eine Domäne einer anderen Art in der elektronischen Vorrichtung, die über ein vordefiniertes Sonderprivileg und/oder Sicherheits-mechanismus verfügt. Die gesicherte privilegierte Domäne kann das virtuelle vertraute Laufzeit-BIOS umfassen, welches über einen virtuellen hochprivilegierten Modus verfügt, der Systemverwaltungsbefehle sicher bearbeiten kann, ohne über eine Komponente auf gleicher Ebene wie der VMM wie z. B. einen SMMTM (System Management Mode Transfer Monitor) zur Teilung und Sicherung eines virtuellen hochprivilegierten Modus von den anderen Domänen verfügen zu müssen.
  • Eine ”virtuelle Maschine” (auch ”Virtual Appliance” oder ”virtuelle Partition”) ist eine Partition oder Segment eines physischen Rechners (der elektronischen Vorrichtung, die zur Virtualisierung oder Nachahmung eines physischen Rechners vorgesehen wird. Aus der Sicht eines Benutzers oder einer Anwendung sieht eine virtuelle Maschine so aus wie ein physischer Rechner. Eine virtuelle Maschine umfasst ein Betriebssystem (Gast-Betriebssystem) sowie mindestens eine Anwendung.
  • Ein VMM, auch Hypervisor genannt, verwaltet die Teilung der physischen Ressourcen, insbesondere der Hardware-Komponenten, der elektronischen Vorrichtung durch die virtuellen Maschinen. Der VMM virtualisiert die physischen Ressourcen. Jede virtuelle Maschine verfügt über damit verbundene physische Ressourcen, die vom VMM verwaltet werden. Der VMM verarbeitet Anfragen nach physischen Ressourcen.
  • Gemäß einer Ausführungsform umfasst ein Rechensystem Hardware sowie einen VMM. Ein virtuelles vertrautes Laufzeit-BIOS kann vom VMM erzeugt werden. Ein Kommunikationskanal kann mit dem virtuellen vertrauten Laufzeit-BIOS kommunizieren. Der Kommunikationskanal wird von einem SSL (Secure Socket Layer) gesichert.
  • Gemäß einer weiteren Ausführung kann ein Verfahren die Kommunikationen mit einem virtuellen vertrauten Laufzeit-BIOS in einem Rechensystem sichern. Das Verfahren kann das Verwalten eines virtuellen vertrauten Laufzeit-BIOS sowie das Einrichten eines gesicherten Kommunikationskanal an das virtuelle vertraute Laufzeit-BIOS umfassen. Nach der Einrichtung des sicheren Kommunikationskanals wird über den sicheren Kommunikationskanal unter Einsatz von SSL mit dem virtuellen Laufzeit-BIOS kommuniziert.
  • 1 ist ein Blockdiagamm eines Rechensystems nach einem Ausführungsbeispiel des sicheren Kommunizierens mit einem virtuellen vertrauten Laufzeit-BIOS. Ein Computersystem 100 kann einen Prozessor 110 umfassen. Der Prozessor 110 ist Teil der Hardware 105 des Rechensystems 100. Der Prozessor 110 kann ein Mehrzweck- oder anwendungsspezifischer Prozessor sein. Beispielsweise kann die Hardware 105 umfassen: I/O-Geräte, flüchtiger Speicher, sekundärer Speicher, Flash-Speicher, Netzwerk-Interface-Steuereinheit, Graphikkarte, usw. Das System kann einen VMM 115 zur Verwaltung der physischen Ressourcen der Hardware-Komponenten sowie zur Virtualisierung der physischen Ressourcen umfassen. Das Rechensystem umfasst ein virtuelles BIOS (vBIOS) 135, das mit einer Gastdomäne 130 verbunden ist. Die Gastdomäne 130 ist eine virtuelle Maschine, die ein Betriebssystem wie z. B. Microsoft Windows, Linux, Unix oder ein sonstiges Betriebssystem ausführen kann.
  • In einigen Beispielen ist die privilegierte Domäne 120 die Domäne 0, bei der es sich um eine vom VMM 102 beim Hochfahren des Systems hochgefahrene Verwaltungsdomäne handelt, die über verstärkte Privilegien und Sicherheitsmechanismen verfügt. Beispiele der von der Domäne 0 übernommenen Aufgaben sind insbesondere das Erzeugen und Konfigurieren der Gastdomänen. Jede der Domäne 0 und der Gastdomäne gilt als entsprechende virtuelle Maschine. Die privilegierte Domäne 120 kann vom VMM 115 getrennt vorliegen. In alternativen Ausführungsformen kann die privilegierte Domäne 120 Teil des VMM 115 sein. In derartigen alternativen Ausführungsformen ist die virtuelle vertraute Laufzeit-BIOS-Funktion 125 Teil des VMM 115. Die privilegierte Domäne 120 kann eine vertraute Domäne sein, da diese vom vertrauten VMM erzeugt oder verwaltet wird.
  • Dem VMM 115 kann vertraut werden, da ein Schlüssel von einem TPM (Trusted Platform Module) oder sonstiger Vorrichtung, insbesondere einem virtuellen TPM, dem BIOS oder einer anderen Vorrichtung bei der Initialisierung erzeugt oder entschlüsselt werden kann. Mit dem Schlüssel kann der privilegierten Domäne 120 vertraut werden. Der Schlüssel kann Teil eines Zertifikats sein, mit dem dem VMM und damit auch der privilegierten Domäne 120 und dem virtuellen vertrauten Laufzeit-BIOS vertraut wird. Der Schlüssel kann als Teil des Zertifikats verwendet werden, um eine SSL-Kommunikation zu erstellen. Der Schlüssel kann zum Zeitpunkt der Herstellung auf dem Rechensystem gespeichert oder während der Laufzeit erzeugt werden. Der Schlüssel kann ein asymmetrischer Schlüsse wie z. B. öffentlicher oder privater Schlüssel sein.
  • Die Bereitstellung der BIOS-Funktion 125 in der privilegierten Domäne 120 führt ein ”Cloud-BIOS” aus, das auch als ”virtuelles vertrautes Laufzeit-BIOS 125” oder BIOS.v bezeichnet wird. Die ”Cloud” kann sich auf die privilegierte Domäne 120 (oder eine sonstige vertraute Domäne) beziehen. Die Cloud kann entweder im Rechensystem 100 oder außerhalb des Rechensystems 100 vorliegen. Beispielsweise kann die Cloud, die eine virtuelle vertraute Laufzeit-BIOS-Funktion 125 enthält, dem Rechensystem 100 über ein Netzwerk zugänglich sein. Beim Netzwerk kann es sich z. B. um ein LAN, WAN oder weltweites Netzwerk handeln.
  • In einigen Ausführungsformen ist die von einer Netzwerk-Kommunikationsfunktion auf Web-Basis bereitgestellte Web-Schnittstelle Teil eines Nachfrager-Anbieter-Modells, das es dem Nachfrager (z. B. einer Domäne) ermöglicht, bei einem Anbieter (z. B. Server-Rechner) über ein Netzwerk einen Dienst (z. B. BIOS-Dienst) anzufordern. Beispielsweise kann es sich bei der Web-Schnittstelle um eine Web-Dienstschnittstelle handeln. Ein Web-Dienst ist ein Mechanismus, der zur Unterstützung der Interoperabilität zwischen Maschinen ausgelegt ist; hierbei kann es sich um eine Interaktion zwischen virtuellen Maschinen über ein Netzwerk handeln. Die Web-Dienstschnittstelle kann einem von der vom W3C (World Wide Web Consortium) definierten WSDL (Web Services Description Language) beschriebenen Format entsprechen. Alternativ kann die Web-Dienstschnittstelle einem SOAP (Simple Object Access Protocol) (ebenfalls vom W3C definiert) entsprechen; hierbei handelt es sich um ein Protokoll zum Austausch strukturierter Daten bei der Ausführung von Webdiensten über Netzwerke.
  • Als noch eine weitere Alternativ kann die Web-Schnittstelle einer REST-Architektur (Representational State Transfer) entsprechen, die Clients und Server umfasst, wobei Clients Anfragen an Server senden und Server Antworten an Clients senden können. Anfragen und Antworten basieren auf der Übertragung von Ressourcendarstellungen. Eine Ressource kann ein beliebiges kohärentes und sinnvolles Konzept sein, das adressierbar ist. Eine Ressourcendarstellung ist typischerweise ein Dokument, das den Ist- oder Soll-Zustand einer Ressource erfasst. Bei der REST-Archiktur wird eine von einem Client (z. B. der elektronischen Vorrichtung) versendete Anfrage in einigen Beispielen eine HTTP-Get-Anfrage (Hypertext Transfer Protocol) sein. Der Server (z. B. Server-Rechner) kann auf die HTTP-Get-Anfrage eine HTTP-Antwort liefern. Das HTTP kann auch das sichere HTTP (HTTPs) umfassen.
  • Bei der Web-Schnittstelle kann auf eine Ressource (z. B. interne oder externe virtuelle vertraute BIOS-Funktion) durch Versenden einer virtuellen vertrauten Laufzeit-BIOS-Zugriffsanfrage zugegriffen werden, die eine Adresse der angeforderten Ressource enthält. Bei der Adresse kann es sich um eine Web-Adresse wie z. B. URL (Uniform Resource Locator), IP-Adresse (Internet Protocol), SMTP (Simple Mail Transfer Protocol) oder eine sonstige Adresse handeln, mit der die angeforderte Ressource eindeutig zu identifizieren ist.
  • Auf die Zugriffsanfrage des virtuellen vertrauten Laufzeit-BIOS hin, die die an der Web-Schnittstelle empfangene Adresse enthält, kann die Web-Netzwerkkommunikationsfunktion die Anfrage an die entsprechende Funktion der internen und externen virtuellen vertrauten Laufzeit-BIOS-Funktionen richten. In einigen Fällen kann die Web-Netzwerkkommunikationsfunktion die Anfrage sowohl an die interne als auch an die externe virtuelle vertraute Laufzeit-BIOS-Funktion richten.
  • Die Web-basierte Netzwerkkommunikation mit dem virtuellen vertrauten Laufzeit-BIOS wird z. B. mittels SSL gesichert; hierbei handelt es sich um ein Protokoll zur Verwaltung der Sicherheit einer Nachrichtenübertragung auf dem Internet. Da die Kommunikation mit dem BIOS eine Web-Kommunikation, wie sie z. B. auf dem Internet verwendet werden, kann mit einem SSL die Kommunikation mit dem virtuellen vertrauten Laufzeit-BIOS durch Erzeugen eines sicheren Kommunikationskanals 185 gesichert werden. SSL kann auch TLS (Transport Layer Security) oder ein sonstiges Sicherheitsprotokoll zur Sicherung von Web-Kommunikationen bedeuten.
  • Ein Socket-Verfahren zur Hin- und Rückbeförderung von Daten zwischen einem Client und einem Serverprogramm in einem Netzwerk oder zwischen Programmschichten desselben Rechners, also SSL, kann zur Sicherung der Kommunikationen mit dem virtuellen vertrauten Laufzeit-BIOS verwendet werden, wenn das virtuelle vertraute Laufzeit BIOS auf einer privilegierten Domäne liegt oder einem Netzwerk an einem sonstigen Ort liegt. SSL verwendet ein Verschlüsselungssystem mit öffentlichem und privatem Schlüssel, wozu auch der Einsatz eines digitalen Zertifikats gehören kann.
  • Ein Beispiel der Einrichtung des sicheren Kommunikationkanals kann eine Domäne wie z. B. die Gastdomäne 130 umfassen, die das virtuelle vertraute. Laufzeit-BIOS 125 auffordert, sich zu identifizieren. Das virtuelle vertraute Laufzeit-BIOS 125 kann dann eine Kopie eines SSL-Zertifikats an die Domäne senden. Die Domäne prüft, ob sie dem SSL-Zertifikat vertraut; wenn die Domäne dem Zertifikat vertraut, sendet die Gastdomäne eine Nachricht an das virtuelle vertraute Laufzeit-BIOS. Die Nachricht von der Gastdomäne an das virtuelle vertraute Laufzeit-BIOS kann ein Key Seed der Sitzung enthalten, die mit einem öffentlichen SSL-Schlüssel verschlüsselt ist. Das virtuelle vertraute Laufzeit-BIOS 125 kann dann eine digital unterschriebene Bestätigung an die Domäne richten, um eine SSL-verschlüsselte Sitzung zu beginnen. Die verschlüsselten Daten können jetzt zwischen der Domäne und dem BIOS.v 125 geteilt werden.
  • In einem weiteren Beispiel der Einrichtung der sicheren Kommunikation kann die Domäne ein SSL-Zertifikat enthalten und die Domäne kann aufgefordert werden, sich zu identifizieren; dann reagiert die Domäne durch Senden einer Kopie des SSL-Zertifikats und das BIOS.v prüft, ob es dem Zertifikat vertraut und richtet dann eine Nachricht an die Domäne. Die Nachricht vom BIOS.v 125 kann einen Sitzungsschlüssel enthalten, der mit einem SSL-Schlüssel verschlüsselt ist. Die Domäne kann an das BIOS.v eine digital unterschriebene Bestätigung richten, um eine SSL-verschlüsselte Sitzung aufzunehmen, was auch zur Teilung verschlüsselter Daten zwischen Domäne und BIOS.v führt.
  • 2 ist ein Blockdiagamm eines Rechensystems nach einem Ausführungsbeispiel eines virtuellen hochprivilegierten Modus. Ein Computersystem 200 kann einen Prozessor 210 umfassen. Der Prozessor 210 ist Teil der Hardware 205 des Rechensystems 200. Die Hardware kann Firmware 245 umfassen, zu der das BIOS 250 sowie die EFI (Extensible Firmware Interface) 255 gehören können. Das BIOS 250 kann als physisches BIOS bezeichnet werden. Ein ”physisches BIOS” ist ein BIOS-Code, der in einem nicht flüchtigen Speicher wie z. B. Flash-Speicher oder sonstigem programmierbarem ROM vorliegt und beim Hochfahren des Rechensystems 200 auszuführen ist. In einigen Ausführungsformen kann es sich beim physischen BIOS um eine reduzierte (vereinfachte) Version des BIOS handeln, da mindestens ein Teil des Systemverwaltungsmodus auf das BIOS.v 225 übertragen wird. Wird ein BIOS.v 225 ausgeführt, kann das physische BIOS 250 aufgrund des dem BIOS.v 225 entgegengebrachten Vertrauens weiterhin aufgeschlossen bleiben, um Veränderungen zuzulassen. Der Prozessor 210 kann ein Mehrzweck- oder anwendungsspezifischer Prozessor sein. Das System kann einen VMM 215 zur Verwaltung der physischen Ressourcen der Hardware-Komponenten sowie zur Virtualisierung der physischen Ressourcen umfassen. Das Rechensystem 100 umfasst ein virtuelles BIOS (vBIOS) 235, das mit einer Gastdomäne 230 verbunden ist. Die Gastdomäne 230 ist eine virtuelle Maschine, die ein Betriebssystem wie z. B. Microsoft Windows, Linux, Unix oder ein sonstiges Betriebssystem ausführen kann.
  • In einigen Beispielen ist die privilegierte Domäne 220 die Domäne 0, bei der es sich um eine vom VMM 215 beim Hochfahren des Systems hochgefahrene Verwaltungsdomäne handelt, die über verstärkte Privilegien und Sicherheitsmechanismen verfügt. Beispiele der von der Domäne 0 übernommenen Aufgaben sind insbesondere das Erzeugen und Konfigurieren der Gastdomänen. Jede der Domäne 0 und der Gastdomäne gilt als entsprechende virtuelle Maschine. Die privilegierte Domäne 220 kann vom VMM 215 getrennt vorliegen. In alternativen Ausführungsformen kann die privilegierte Domäne 220 Teil des VMM 215 sein. In derartigen alternativen Ausführungsformen ist die virtuelle vertraute Laufzeit-BIOS-Funktion 225 Teil des VMM 215.
  • Mit einem sicheren Kommunikationskanal 285 können Kommunikationen wie z. B. eine Systemverwaltungsanfrage gesichert werden. Eine Systemverwaltungsanfrage kann von der API (Application Programming Interface) eines Web-Dienstes versendet werden. Gemäß einer weiteren Ausführungsform kann die Systemverwaltungsanfrage in einer WMI-Packung (Windows Management Instrumentation) verpackt werden. Zu einer weiteren Ausführungsform gehört der Einsatz eines RPC (Remote Procedure Call) zur Weiterleitung der Systemverwaltungsanfrage (SVA) an den virtuellen Systemverwaltungsmodus (SVM).
  • In einigen Ausführungsformen basiert ein Cloud-BIOS auf den nachfolgenden Voraussetzungen einer Architektur auf VMM-Basis: Das physische BIOS kennt und vertraut der Haupt-Laufzeiteinheit (VMM 215), die vom physischen BIOS hochgefahren wird, und der vom BIOS vertraute VMM kann alle anderen I/O-Anfragen fangen und ausschalten (um auf BIOS-Funktionen zuzugreifen) als diejenigen, die von der privilegierten Domäne kommen. In einigen Ausführungsformen kann ein BIOS-Verifizierungsmechanismus vorgesehen sein, um die Herkunft des vom Rechensystem hochzufahrenden VMM zu authentifizieren. Derartige Verifizierungsmechanismen ermöglichen es einem Administrator oder sonstigem Benutzer, festzulegen, dass nur ein zugelassener VMM im Rechensystem hochgefahren werden kann. Der Verifizierungsmechanismus sorgt dafür, dass das im Rechensystem befindliche VMM-Bild nicht auf böswillige Weise verändert worden ist und dass dem VMM vertraut werden kann. Das physische BIOS kann das VMM-Bild visuell verifizieren und dafür sorgen, dass der VMM mit einer bekannten, vorher festgelegten Reihe von Betriebseinstellungen hochgefahren wird.
  • Nach der Verifizierung, dass ein zugelassener VMM hochgefahren worden ist, kann das physische BIOS die Ausführung verschiedener Sicherheitsmaßnahmen aufschieben oder unterlassen, die vom physischen BIOS normalerweise ausgeführt werden, um Schäden durch nicht zugelassenen oder böswilligen Code zu verhindern. Beispielsweise kann sich das physische BIOS entscheiden, die Flash-Register und/oder Teile des Flash-Speichers des BIOS nicht zu verschließen.
  • In Ausführungsformen, in denen das BIOS.v 225 in einem Rechensystem 200 intern vorgesehen ist. Aus der Sicht einer virtuellen Gastmaschine oder sonstigen Einheit des Rechensystems, die auf BIOS-Dienste zugreifen will, kann sich die Cloud, die die BIOS-Dienste enthält, an einem beliebigen Ort befinden, insbesondere an einem außerhalb des Rechensystems liegenden Ort.
  • Gemäß einer Ausführungsform mit einem BIOS.v kann keine andere Domäne als die privilegierte Domäne oder eine weitere vertraute Domäne mit dem BIOS kommunizieren. Dies kann daran liegen, dass alle Kommunikationen von einer Gastdomäne an das BIOS gefangen und dem privilegierten Domäneteil zugeführt werden, um vom entsprechenden Filter empfangen und bearbeitet zu werden. Der virtuelle hochprivilegierte Modus der privilegierten Domäne kann die Anfrage dann bearbeiten und Flass oder BIOS direkt oder indirekt abrufen. Dieser Abruf von der privilegierten Domäne an das BIOS, der dann vom Hypervisor durchgelassen wird, da der Hypervisor einen aus der privilegierten Domäne und nicht einer Gastdomäne stammenden Anruf erkennen kann. Unter der Voraussetzung des offenen Zugriffs auf das physische BIOS wird die Kommunikation von der privilegierten Domäne an das physische BIOS gesichert; die privilegierte Domäne kann nun alle BIOS-Einstellungen in Laufzeit schreiben oder ablesen, wodurch die Situation entfällt, in der der Prozessor in den Systemverwaltungsmodus übergeht.
  • Obwohl das BIOS.v sicher ist, kann es sein, dass die Kommunikationen mit dem BIOS.v unsicher sind. Zur Sicherung der Webbasierten Kommunikationen mit dem BIOS.v kann ein SSL-Handshake zwischen dem BIOS.v und einer anfragenden Domäne wie z. B. der Gastdomäne 230 erfolgen. In diesem Beispiel kann das BIOS.v ein SSL-Zertifikat umfassen, wie z. B. das eines Webservers, und die anfragende Domäne kann mit diesem Zertifikat die Kommunikationen mit dem BIOS.v derart sichern, dass die anfragende Domäne ähnlich einem Web-Browser auf einer sicheren Webseite funktioniert.
  • 3 ist ein Flussdiagamm eines Verfahrens zur Sicherung der Kommunikation mit einem virtuellen vertrauten Laufzeit-BIOS gemäß einer Ausführungsform. Zur Einleitung einer SSL-Kommunikation zwischen Gastdomäne 301 und BIOS.v sagt die Gastdomäne bei 305 Hallo. Das BIOS.v sagt dann bei 310 Hallo. Das BIOS.v sendet dann sein Zertifikat bei 315 an die Gastdomäne.
  • Bei einigen Ausführungsformen kann das BIOS.v der Gastdomäne einen öffentlichen Schlüssel senden. Das BIOS.v kann dann das Client-Zertifikat anfordern.
  • Das BIOS.v signalisiert der Gastdomäne bei 320, dass das Hallo abgeschlossen ist. Die Gastdomäne führt bei 325 dann mit dem öffentlichen Schlüssel aus dem Zertifikat des BIOS.v einen Schlüsseltausch durch, um einen Sitzungsschlüssel auszutauschen. Der Sitzungsschlüssel wird dann zur Einrichtung einer symmetrischen Verschlüsselung verwendet und dem BIOS.v mit asymmetrischer Verschlüsselung mitgeteilt. Die Gastdomäne kann ein Zertifikat bereitstellen, wenn das BIOS.v dies anfordert und die Gastdomäne über ein Zertifikat verfügt.
  • Die Gastdomäne kann dem BIOS.v signalisieren, dass eine Änderung der Cipher Spec vorliegt, und dass die nächste Kommunikation der Gastdomäne bei 330 mit dem Sitzungsschlüssel verschlüsselt wird. Die Gastdomäne signalisiert bei 335, dass sie fertig ist; dies wird mit dem Sitzungsschlüssel verschlüsselt. Das BIOs.v kann bei 340 die Cipher Spec verändern und angeben, dass die nächste Nachricht mit dem Sitzungsschlüssel verschlüsselt wird. Eine fertige Nachricht, die verschlüsselt ist, wird bei 345 vom BIOS.v abgeschickt. Die verschlüsselten Daten können bei 350 und 355 zwischen der Gastdomäne und dem BIOS.v 350 hin- und hergesendet werden.
  • 4 ist ein Flussdiagamm eines Verfahrens 400 zur Sicherung der Kommunikation mit einem virtuellen vertrauten Laufzeit-BIOS gemäß einer Ausführungsform. Das Verfahren kann mit dem Verwalten eines BIOS.v bei 405 beginnen. Das BIOS.v 125 kann vom VMM 115 verwaltet werden. Ein sicherer Kommunikationskanal mit dem virtuellen vertrauten Laufzeit-BIOS kann bei 410 eingerichtet werden.
  • Ein Beispiel der Einrichtung des sicheren Kommunikationkanals kann eine Domäne wie z. B. die Gastdomäne 130 umfassen, die das virtuelle vertraute Laufzeit-BIOS 125 auffordert, sich zu identifizieren. Das virtuelle vertraute Laufzeit-BIOS 125 kann dann eine Kopie eines SSL-Zertifikats an die Domäne senden. Die Domäne prüft, ob sie dem SSL-Zertifikat vertraut; wenn die Domäne dem Zertifikat vertraut, sendet die Gastdomäne eine Nachricht an das virtuelle vertraute Laufzeit-BIOS. Die Nachricht von der Gastdomäne an das virtuelle vertraute Laufzeit-BIOS kann ein Key Seed der Sitzung enthalten, die mit einem öffentlichen SSL-Schlüssel verschlüsselt ist. Das virtuelle vertraute Laufzeit-BIOS 125 kann dann eine digital unterschriebene Bestätigung an die Domäne richten, um eine SSL-verschlüsselte Sitzung zu beginnen. Die verschlüsselten Daten können jetzt zwischen der Domäne und dem BIOS.v 125 geteilt werden.
  • In einem weiteren Beispiel der Einrichtung der sicheren Kommunikation kann die Domäne ein SSL-Zertifikat enthalten und die Domäne kann aufgefordert werden, sich zu identifizieren; dann reagiert die Domäne durch Senden einer Kopie des SSL-Zertifikats und das BIOS.v prüft, ob es dem Zertifikat vertraut und richtet dann eine Nachricht an die Domäne. Die Nachricht vom BIOS.v 125 kann einen Sitzungsschlüssel enthalten, der mit einem SSL-Schlüssel verschlüsselt ist. Die Domäne kann an das BIOS.v eine digital unterschriebene Bestätigung richten, um eine SSL-verschlüsselte Sitzung aufzunehmen, was auch zur Teilung verschlüsselter Daten zwischen Domäne und BIOS.v führt.
  • Der sichere Kommunikationskanal kann z. B. ein Web-Kommunikationsprotokoll sein. Die Kommunikationen mit dem BIOS.v laufen bei 415 über einen sicheren Kommunikationskanal mit SSL.
  • 5 ist ein Flussdiagamm eines Verfahrens 500 zur Sicherung der Kommunikation mit einem virtuellen vertrauten Laufzeit-BIOS gemäß einer Ausführungsform. Das Verfahren durch Kommunizieren mit einem BIOS.v mit dem Web-Protokoll bei 502 beginnen. Das BIOS.v kann bei 505 derart verwaltet werden, dass das BIOS.v eine vertraute Komponente des Rechensystems 100 ist. Das BIOS.v 125 kann vom VMM 115 verwaltet werden. Ein sicherer Kommunikationskanal mit dem virtuellen vertrauten Laufzeit-BIOS kann bei 510 eingerichtet werden. Der sichere Kommunikationskanal kann z. B. ein Web-Kommunikationsprotokoll sein. Mit einem Handshake mit öffentlichem und privatem Schlüssel kann die Kommunikation bei 512 gesichert werden. Zur Sicherung der Kommunikation mit dem BIOS.v wird ein sicherer Kommunikationskanal mit SSL zur Kommunikation mit dem BIOS.v bei 515 verwendet. Das BIOS.v kann bei 518 mit einem physischen BIOS kommunizieren, z. B. um Systemkonfigurationen zu ändern. In einigen Ausführungsformen liegt das BIOS.v außerhalb des Rechensystems und der VMM kann die Kommunikation ohne Rücksicht darauf, wo sich das BIOS.v befindet, dem BIOS.v zuleiten.
  • 6 ist ein Blockdiagamm eines Rechensystems 600 nach einem Ausführungsbeispiel eines computerlesbaren Datenträgers 615616. Der computerlesbare Datenträger 615616 kann Code umfassen, der im Falle seiner Ausführung durch einen Prozessor ein Rechensystem veranlassen kann, eine Kommunikation mit einem BIOS.v zu verwalten. Das Rechensystem kann Hardware wie z. B. einen Controller Hub 610 oder Graphikkarte 620 umfassen. Das Rechensystem kann mit einer Anzeige 630, Tastatur 635, Maus 640, Sensor 645 und sonstigen Geräten verbunden sein. Der Code kann mit dem virtuellen vertrauten Laufzeit-BIOS eine sichere Kommunikationsschicht einrichten. Die Kommunikationen mit dem BIOS.v können über den sicheren Kommunikationskanal mit SSL laufen.
  • Das Rechensystem kann auch Code umfassen, der bei seiner Ausführung das Rechensystem veranlasst, mit einem virtuellen Laufzeit-BIOS zu kommunizieren, der dem Rechensystem fern liegt. Liegt das BIOS außerhalb des Rechensystems kann es sein, dass der Komponente, z. B. Domäne, die die Anfrage an das BIOS richtet, nicht bekannt ist, dass das BIOS außerhalb liegt. Der VMM kann die Anfrage dann ohne Benachrichtigung der anfragenden Komponente leiten. Die Kommunikationen mit dem virtuellen Laufzeit-BIOS kann über ein Web-Protokoll erfolgen, und zwar ohne Rücksicht darauf, ob das BIOS lokal oder dezentral ist. Die Komponente kann einen sicheren Kommunikationskanal, z. B. mit einem Handshake mit öffentlichem und privatem Schlüssel, einrichten.
  • Verschiedene Module, wie sie z. B. in anderen Zeichnungen gezeigt werden, können als maschinenlesbare Befehle ausgeführt werden, die auf einem oder mehreren Prozessoren ausführbar sind. Ein Prozessor kann einen Mikroprozessor, Mikrocontroller, Prozessormodul oder Subsystem, programmierbare integrierte Schaltung, programmierbaren Gate-Array oder sonstiges Steuer- oder Rechengerät umfassen.
  • Die maschinenlesbaren Befehle können in Maschinen- oder computerlesbaren Datenträgern gespeichert sein, die als ein oder mehrere Computer- oder maschinenlesbare Datenträger ausführbar sind. Die Datenträger können verschiedene Speicherformen, insbesondere Halbleiter-Speichergerät wie z. B. dynamisches oder statisches RAM (DRAM oder SRAM), löschbare und programmierbare ROM (EPROM), EEPROM und Flash-Speicher; Magnetplatten wie z. B. Festplatten, Disketten und abnehmbare Laufwerke, sonstige magnetische Datenträger wie z. B. Band, optische Datenträger wie z. B. CDs oder DVDs oder sonstige Datenträger umfassen. Hierbei ist anzumerken, dass die oben beschriebenen Befehle auf einem Computer- oder maschinenlesbaren Datenträger oder alternativ auf mehreren Computer- oder maschinenlesbaren Datenträgern vorliegen können, die in einem großen System mit womöglich mehreren Knoten verteilt sind. Diese Computer- oder maschinenlesbaren Datenträger gelten als Teil eines Artikels (Produktes). Artikel oder Produkt kann eine beliebige hergestellte Einzelkomponente oder auch mehrere Komponenten sein. Der Datenträger kann entweder in der Maschine, die die maschinenlesbaren Befehle ausführt, oder an einer dezentralen Stelle vorliegen, von der aus die maschinenlesbaren Befehle zur Ausführung über ein Netzwerk heruntergeladen werden können.
  • In der vorstehenden Beschreibung werden zahlreiche Einzelheiten angegegeben, um ein Verständnis des vorliegend beschriebenen Gegenstandes zu vermitteln. Ausführungen können sich jedoch ohne einige oder alle diese Details ergeben. Weitere Ausführungsformen können Änderungen und Abwandlungen der oben beschriebenen Konfigurationen umfassen. Die beigefügten Patentansprüche sollen diese Änderungen und Abwandlungen mit umfassen.

Claims (15)

  1. Ein Rechensystem, umfassend: Hardware; einen Virtual Machine Monitor; ein vom Virtual Machine Monitor verwaltetes virtuelles vertrautes Laufzeit-BIOS; und einen Kommunikationskanal zur Kommunikation mit dem virtuellen vertrauten Laufzeit-BIOS, wobei der Kommunikationskanal von einer SSL-Verschlüsselung gesichert wird.
  2. Das System nach Anspruch 1, ferner umfassend einen öffentlichen Schlüssel und einen privaten Schlüssel zur Gewährleistung sicherer Kommunikationen mit dem virtuellen vertrauten Laufzeit-BIOS.
  3. Das System nach Anspruch 1, wobei der Kommunikationskanal auf Web-Kommunikationsprotokollen basiert.
  4. Das System nach Anspruch 3, wobei sich der Kommunikationskanal zwischen einer Hypertext-Uebertragungsprotokoll(HTTP)-Schicht und einer Uebertragungssteuerungsprotokoll(TCP)-Schicht befindet.
  5. Das System nach Anspruch 1, ferner umfassend eine privilegierte Domäne zur Aufnahme des virtuellen vertrauten Laufzeit-BIOS.
  6. Das System nach Anspruch 1, ferner umfassend einen Sendeempfänger zur Kommunikation mit einem Hardware-fernen virtuellen vertrauten Laufzeit-BIOS.
  7. Ein Verfahren zur Sicherung der Kommunikation mit einem virtuellen vertrauten Laufzeit-BIOS in einem Rechensystem, umfassend: Verwalten eines virtuellen vertrauten Laufzeit-BIOS; Einrichtung eines sicheren Kommunikationskanals mit dem virtuellen vertrauten Laufzeit-BIOS; Kommunizieren mit dem virtuellen vertrauten Laufzeit-BIOS über den sicheren Kommunikationskanal unter Verwendung von SSL-Verschlüsselung.
  8. Das Verfahren nach Anspruch 7, ferner umfassend das Kommunizieren vom virtuellen vertrauten Laufzeit-BIOS aus an ein physisches BIOS.
  9. Das Verfahren nach Anspruch 7, ferner umfassend das Kommunizieren mit einem Rechensystem-fernen virtuellen vertrauten Laufzeit-BIOS.
  10. Das Verfahren nach Anspruch 7, wobei die Kommunikation des virtuellen Laufzeit-BIOS ein Web-Kommunikationsprotokoll ist.
  11. Das Verfahren nach Anspruch 7, wobei das Einrichten eines sicheren Kommunikationskanals einen Handshake unter Verwendung eines öffentlichen und eines privaten Schlüssels umfasst.
  12. Ein computerlesbarer Datenträger, umfassend einen Code, der bei seiner Ausführung durch einen Prozessor ein Rechensystem veranlasst zum: Verwalten einer Kommunikation mit einem virtuellen vertrauten Laufzeit-BIOS; Einrichten eines sicheren Kommunikationskanals mit dem virtuellen vertrauten Laufzeit-BIOS; Kommunizieren mit dem virtuellen vertrauten Laufzeit-BIOS über den sicheren Kommunikationskanal unter Verwendung von SSL-Verschlüsselung.
  13. Der computerlesbare Datenträger nach Anspruch 12, ferner umfassend einen Code, der bei seiner Ausführung eine Rechenvorrichtung veranlasst zum: Kommunizieren mit einem Rechensystem-fernen virtuellen Laufzeit-BIOS.
  14. Der computerlesbare Datenträger nach Anspruch 12, ferner umfassend einen Code, der bei seiner Ausführung eine Rechenvorrichtung veranlasst zum: Kommunizieren mit dem virtuellen Laufzeit-BIOS unter Verwendung eines Web-Kommunikationsprotokolls.
  15. Der computerlesbare Datenträger nach Anspruch 12, ferner umfassend einen Code, der bei seiner Ausführung eine Rechenvorrichtung veranlasst zum: Einrichten eines sicheren Kommunikationskanals, der einen Handshake unter Verwendung eines öffentlichen Schlüssels und eines privatem Schlüssels umfasst.
DE112011105568.4T 2011-08-30 2011-09-29 Kommunizieren mit einem virtuellen vertrauten Laufzeit-Bios Withdrawn DE112011105568T5 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201113201104A 2011-08-30 2011-08-30
PCT/US2011/049677 WO2013032442A1 (en) 2011-08-30 2011-08-30 Virtual high privilege mode for a system management request
USUS-PCT/US2011/049677 2011-08-30
PCT/US2011/054045 WO2013032495A1 (en) 2011-08-30 2011-09-29 Communication with a virtual trusted runtime bios

Publications (1)

Publication Number Publication Date
DE112011105568T5 true DE112011105568T5 (de) 2014-05-28

Family

ID=54328041

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112011105568.4T Withdrawn DE112011105568T5 (de) 2011-08-30 2011-09-29 Kommunizieren mit einem virtuellen vertrauten Laufzeit-Bios

Country Status (9)

Country Link
US (4) US9275230B2 (de)
EP (1) EP2771783B1 (de)
JP (1) JP5809362B2 (de)
CN (2) CN103748556B (de)
BR (1) BR112014003389B1 (de)
DE (1) DE112011105568T5 (de)
GB (1) GB2507015B (de)
TW (1) TWI464680B (de)
WO (2) WO2013032495A1 (de)

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9148428B1 (en) * 2011-05-25 2015-09-29 Bromium, Inc. Seamless management of untrusted data using virtual machines
JP6063941B2 (ja) 2011-08-30 2017-01-18 ヒューレット−パッカード デベロップメント カンパニー エル.ピー.Hewlett‐Packard Development Company, L.P. システム管理要求のための仮想高特権モード
JP5809362B2 (ja) * 2011-08-30 2015-11-10 ヒューレット−パッカード デベロップメント カンパニー エル.ピー.Hewlett‐Packard Development Company, L.P. 仮想トラステッドランタイムbiosとの通信
US9448810B2 (en) 2011-10-21 2016-09-20 Hewlett-Packard Development Company, L.P. Web-based interface to access a function of a basic input/output system
US9753738B2 (en) 2011-10-21 2017-09-05 Hewlett-Packard Development Company, L.P. Providing a function of a basic input/output system (BIOS) in a privileged domain
US9253185B2 (en) * 2012-12-12 2016-02-02 Nokia Technologies Oy Cloud centric application trust validation
US9497266B2 (en) * 2013-02-22 2016-11-15 International Business Machines Corporation Disk mirroring for personal storage
US9129113B2 (en) 2013-11-13 2015-09-08 Via Technologies, Inc. Partition-based apparatus and method for securing bios in a trusted computing system during execution
US9183394B2 (en) 2013-11-13 2015-11-10 Via Technologies, Inc. Secure BIOS tamper protection mechanism
US9779243B2 (en) 2013-11-13 2017-10-03 Via Technologies, Inc. Fuse-enabled secure BIOS mechanism in a trusted computing system
US9798880B2 (en) 2013-11-13 2017-10-24 Via Technologies, Inc. Fuse-enabled secure bios mechanism with override feature
US9779242B2 (en) 2013-11-13 2017-10-03 Via Technologies, Inc. Programmable secure bios mechanism in a trusted computing system
US10095868B2 (en) 2013-11-13 2018-10-09 Via Technologies, Inc. Event-based apparatus and method for securing bios in a trusted computing system during execution
US9507942B2 (en) 2013-11-13 2016-11-29 Via Technologies, Inc. Secure BIOS mechanism in a trusted computing system
US10049217B2 (en) 2013-11-13 2018-08-14 Via Technologies, Inc. Event-based apparatus and method for securing bios in a trusted computing system during execution
US10055588B2 (en) 2013-11-13 2018-08-21 Via Technologies, Inc. Event-based apparatus and method for securing BIOS in a trusted computing system during execution
US9367689B2 (en) 2013-11-13 2016-06-14 Via Technologies, Inc. Apparatus and method for securing BIOS in a trusted computing system
US9547767B2 (en) 2013-11-13 2017-01-17 Via Technologies, Inc. Event-based apparatus and method for securing bios in a trusted computing system during execution
US9767288B2 (en) 2013-11-13 2017-09-19 Via Technologies, Inc. JTAG-based secure BIOS mechanism in a trusted computing system
CN105814834B (zh) 2013-12-20 2019-12-20 诺基亚技术有限公司 用于公共云应用的基于推送的信任模型
US20150304343A1 (en) 2014-04-18 2015-10-22 Intuit Inc. Method and system for providing self-monitoring, self-reporting, and self-repairing virtual assets in a cloud computing environment
US10121007B2 (en) 2014-02-21 2018-11-06 Intuit Inc. Method and system for providing a robust and efficient virtual asset vulnerability management and verification service
US10757133B2 (en) 2014-02-21 2020-08-25 Intuit Inc. Method and system for creating and deploying virtual assets
US20150271195A1 (en) * 2014-03-18 2015-09-24 Intuit Inc. Method and system for providing temporary secure access enabled virtual assets
US11294700B2 (en) 2014-04-18 2022-04-05 Intuit Inc. Method and system for enabling self-monitoring virtual assets to correlate external events with characteristic patterns associated with the virtual assets
US10102082B2 (en) 2014-07-31 2018-10-16 Intuit Inc. Method and system for providing automated self-healing virtual assets
CN105988830B (zh) * 2015-02-04 2019-07-26 联想(北京)有限公司 信息处理方法及电子设备
US10375088B2 (en) 2015-06-04 2019-08-06 Vm-Robot, Inc. Routing systems and methods
US9749294B1 (en) * 2015-09-08 2017-08-29 Sprint Communications Company L.P. System and method of establishing trusted operability between networks in a network functions virtualization environment
US10542115B1 (en) 2015-10-01 2020-01-21 Sprint Communications Company L.P. Securing communications in a network function virtualization (NFV) core network
US9781016B1 (en) 2015-11-02 2017-10-03 Sprint Communications Company L.P. Dynamic addition of network function services
US10740710B2 (en) 2016-03-25 2020-08-11 Nebbiolo Technologies, Inc. Fog computing facilitated flexible factory
US10250498B1 (en) 2016-10-03 2019-04-02 Sprint Communications Company L.P. Session aggregator brokering of data stream communication
US10798063B2 (en) * 2016-10-21 2020-10-06 Nebbiolo Technologies, Inc. Enterprise grade security for integrating multiple domains with a public cloud
US11231448B2 (en) 2017-07-20 2022-01-25 Targus International Llc Systems, methods and devices for remote power management and discovery
US10979368B2 (en) 2017-08-02 2021-04-13 Nebbiolo Technologies, Inc. Architecture for converged industrial control and real time applications
US10348488B1 (en) 2017-08-25 2019-07-09 Sprint Communications Company L.P. Tiered distributed ledger technology (DLT) in a network function virtualization (NFV) core network
US10838707B2 (en) 2018-07-20 2020-11-17 Dell Products L.P. Runtime update of intel server platform services' node manager settings in bios EEPROM
WO2020214174A1 (en) * 2019-04-18 2020-10-22 Hewlett-Packard Development Company, L.P. Service trust status
JP2022545157A (ja) 2019-08-22 2022-10-26 ターガス インターナショナル エルエルシー 参加者制御型ビデオ会議のためのシステム及び方法
US11960337B2 (en) 2020-01-22 2024-04-16 Hewlett-Packard Development Company, L.P. Customized thermal and power policies in computers
US20220156381A1 (en) * 2020-11-19 2022-05-19 Moxa Inc. Method of Handling Security of an Operating System
US20230237155A1 (en) * 2022-01-27 2023-07-27 Hewlett Packard Enterprise Development Lp Securing communications with security processors using platform keys
CN114244515B (zh) * 2022-02-25 2022-06-28 中瓴智行(成都)科技有限公司 基于Hypervisor的虚拟机通信方法、装置、可读存储介质及电子设备

Family Cites Families (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5230052A (en) * 1990-10-01 1993-07-20 International Business Machines Corp. Apparatus and method for loading bios into a computer system from a remote storage location
US5574920A (en) * 1994-10-25 1996-11-12 Microsoft Corporation Method for controlling power down of a hard disk drive in a computer
US5701477A (en) * 1995-03-30 1997-12-23 Cirrus Logic, Inc. Method and apparatus for master boot record shadowing
US5844986A (en) * 1996-09-30 1998-12-01 Intel Corporation Secure BIOS
KR20000062377A (ko) 1996-12-30 2000-10-25 사이러스 로직, 인크. 구 버젼과 호환가능한 운영 체계에서의 실시간 서비스
US6003065A (en) 1997-04-24 1999-12-14 Sun Microsystems, Inc. Method and system for distributed processing of applications on host and peripheral devices
US20030229794A1 (en) 2002-06-07 2003-12-11 Sutton James A. System and method for protection against untrusted system management code by redirecting a system management interrupt and creating a virtual machine container
US7024550B2 (en) * 2002-06-28 2006-04-04 Hewlett-Packard Development Company, L.P. Method and apparatus for recovering from corrupted system firmware in a computer system
US7337309B2 (en) 2003-03-24 2008-02-26 Intel Corporation Secure online BIOS update schemes
US7032108B2 (en) * 2003-05-02 2006-04-18 Egenera, Inc. System and method for virtualizing basic input/output system (BIOS) including BIOS run time services
US7380136B2 (en) * 2003-06-25 2008-05-27 Intel Corp. Methods and apparatus for secure collection and display of user interface information in a pre-boot environment
EP1530339B1 (de) 2003-11-07 2008-03-05 Harman Becker Automotive Systems GmbH Verfahren und Vorrichtungen für die Zugangskontrolle zu verschlüsselten Datendiensten für ein Unterhaltungs- und Informationsverarbeitungsgerät in einem Fahrzeug
US7707341B1 (en) 2004-05-11 2010-04-27 Advanced Micro Devices, Inc. Virtualizing an interrupt controller
US8271976B2 (en) * 2004-06-30 2012-09-18 Microsoft Corporation Systems and methods for initializing multiple virtual processors within a single virtual machine
US7757231B2 (en) 2004-12-10 2010-07-13 Intel Corporation System and method to deprivilege components of a virtual machine monitor
US7334076B2 (en) * 2005-03-08 2008-02-19 Microsoft Corporation Method and system for a guest physical address virtualization in a virtual machine environment
US7937701B2 (en) 2005-06-30 2011-05-03 Intel Corporation ACPI communication between virtual machine monitor and policy virtual machine via mailbox
US20070055968A1 (en) 2005-09-07 2007-03-08 Rader Shawn T Reliable BIOS updates
CN100437420C (zh) 2005-09-30 2008-11-26 联想(北京)有限公司 计算机系统及其安全加固方法
US7676666B2 (en) 2006-02-02 2010-03-09 Dell Products L.P. Virtual BIOS firmware hub
JP4542514B2 (ja) * 2006-02-13 2010-09-15 株式会社日立製作所 計算機の制御方法、プログラム及び仮想計算機システム
US7840398B2 (en) * 2006-03-28 2010-11-23 Intel Corporation Techniques for unified management communication for virtualization systems
KR101071790B1 (ko) 2006-05-21 2011-10-11 인터내셔널 비지네스 머신즈 코포레이션 어써션 메세지 시그너처
US20080082976A1 (en) * 2006-09-29 2008-04-03 Matthias Steinwagner Usage of virtualization software for shipment of software products
US9280659B2 (en) * 2006-12-29 2016-03-08 Intel Corporation Methods and apparatus for remeasuring a virtual machine monitor
CN101241445B (zh) 2007-02-08 2011-07-27 联想(北京)有限公司 虚拟机系统及其访问显卡的方法
US8060876B2 (en) * 2007-08-10 2011-11-15 Intel Corporation Methods and apparatus for creating an isolated partition for a virtual trusted platform module
US8064605B2 (en) * 2007-09-27 2011-11-22 Intel Corporation Methods and apparatus for providing upgradeable key bindings for trusted platform modules
US20090125901A1 (en) * 2007-11-13 2009-05-14 Swanson Robert C Providing virtualization of a server management controller
US20110040812A1 (en) 2007-12-20 2011-02-17 Virtual Computer, Inc. Layered Virtual File System
US8584229B2 (en) * 2007-12-21 2013-11-12 Intel Corporation Methods and apparatus supporting access to physical and virtual trusted platform modules
JP2009176213A (ja) * 2008-01-28 2009-08-06 Hitachi Software Eng Co Ltd ネットワークブート方式
US20090198988A1 (en) * 2008-01-31 2009-08-06 Inventec Corporation Method for verifying refreshed bios content
JP2009230433A (ja) 2008-03-21 2009-10-08 Toshiba Corp ネットワークブート装置、プログラム及び方法
US8117435B2 (en) 2008-06-30 2012-02-14 Intel Corporation Method and system for secured dynamic bios update
TWI460657B (zh) 2008-09-05 2014-11-11 Asustek Comp Inc 更新與修復基本輸入輸出系統的方法
CN101409714A (zh) * 2008-11-18 2009-04-15 华南理工大学 一种基于虚拟机的防火墙系统
CN101739283B (zh) * 2008-11-20 2013-12-25 联想(北京)有限公司 一种计算机及虚拟系统直接访问计算机硬件的方法
US20110055299A1 (en) 2008-12-18 2011-03-03 Virtual Computer, Inc. Managing User Data in a Layered Virtual Workspace
US8799691B2 (en) 2009-01-07 2014-08-05 Hewlett-Packard Development Company, L.P. Hierarchical power management
US8166288B2 (en) 2009-01-30 2012-04-24 Hewlett-Packard Development Company, L.P. Managing requests of operating systems executing in virtual machines
US8918488B2 (en) 2009-02-04 2014-12-23 Citrix Systems, Inc. Methods and systems for automated management of virtual resources in a cloud computing environment
US8245086B2 (en) * 2009-06-26 2012-08-14 International Business Machines Corporation Visual feedback system for multiple partitions on a server
CN101599025B (zh) * 2009-07-07 2012-07-18 武汉大学 可信密码模块安全虚拟化方法
US8286164B2 (en) * 2009-08-07 2012-10-09 International Business Machines Corporation Secure recursive virtualization
US9069591B1 (en) * 2009-09-10 2015-06-30 Parallels IP Holding GmbH Patching host OS structures for hardware isolation of virtual machines
JP2011076505A (ja) 2009-09-30 2011-04-14 Brother Industries Ltd 情報処理システム及び情報処理方法
US20110126194A1 (en) * 2009-11-24 2011-05-26 International Business Machines Corporation Shared security device
WO2011081935A2 (en) * 2009-12-14 2011-07-07 Citrix Systems, Inc. Methods and systems for communicating between trusted and non-trusted virtual machines
JP5458899B2 (ja) 2010-01-12 2014-04-02 富士通株式会社 仮想計算機、遠隔起動プログラム、遠隔起動方法及び仮想計算機システム
US8473947B2 (en) * 2010-01-18 2013-06-25 Vmware, Inc. Method for configuring a physical adapter with virtual function (VF) and physical function (PF) for controlling address translation between virtual disks and physical storage regions
US8977842B1 (en) * 2010-02-05 2015-03-10 Symantec Corporation Hypervisor enabled secure inter-container communications
US8719817B2 (en) * 2010-03-25 2014-05-06 Vmware, Inc. Virtualization intermediary/virtual machine guest operating system collaborative SCSI path management
EP2569698B1 (de) * 2010-05-10 2019-07-10 Citrix Systems, Inc. Umleitung von informationen aus sicheren virtuellen maschinen auf unsichere virtuelle maschinen
CN102262557B (zh) * 2010-05-25 2015-01-21 运软网络科技(上海)有限公司 通过总线架构构建虚拟机监控器的方法及性能服务框架
US8429276B1 (en) * 2010-10-25 2013-04-23 Juniper Networks, Inc. Dynamic resource allocation in virtual environments
CN101957900B (zh) * 2010-10-26 2012-02-15 中国航天科工集团第二研究院七○六所 一种可信虚拟机平台
US8799997B2 (en) * 2011-04-18 2014-08-05 Bank Of America Corporation Secure network cloud architecture
EP2718785A4 (de) * 2011-06-13 2014-12-31 Lynux Works Inc Systeme und verfahren für sichere domänenisolierung
JP5809362B2 (ja) * 2011-08-30 2015-11-10 ヒューレット−パッカード デベロップメント カンパニー エル.ピー.Hewlett‐Packard Development Company, L.P. 仮想トラステッドランタイムbiosとの通信

Also Published As

Publication number Publication date
TWI464680B (zh) 2014-12-11
CN103748556A (zh) 2014-04-23
US9535710B2 (en) 2017-01-03
CN103748556B (zh) 2018-02-02
US20140359259A1 (en) 2014-12-04
CN103890715A (zh) 2014-06-25
EP2771783A4 (de) 2015-06-03
US20160162299A1 (en) 2016-06-09
WO2013032495A1 (en) 2013-03-07
EP2771783B1 (de) 2020-08-05
JP2014529130A (ja) 2014-10-30
GB2507015B (en) 2020-04-29
US10013559B2 (en) 2018-07-03
WO2013032508A1 (en) 2013-03-07
EP2771783A1 (de) 2014-09-03
CN103890715B (zh) 2017-09-12
GB2507015A (en) 2014-04-16
TW201322128A (zh) 2013-06-01
US20140250294A1 (en) 2014-09-04
BR112014003389B1 (pt) 2021-09-28
US20170068817A1 (en) 2017-03-09
US9275230B2 (en) 2016-03-01
US9542197B2 (en) 2017-01-10
JP5809362B2 (ja) 2015-11-10
BR112014003389A2 (pt) 2017-02-21
GB201401956D0 (en) 2014-03-19

Similar Documents

Publication Publication Date Title
DE112011105568T5 (de) Kommunizieren mit einem virtuellen vertrauten Laufzeit-Bios
US11307886B2 (en) Secure access to a virtual machine
US20190208003A1 (en) Data Management for an Application with Multiple Operation Modes
DE102011103218B4 (de) Systeme, Verfahren und Vorrichtung zum Virtualisieren von TPM- Zugriffen
US10812462B2 (en) Session management for mobile devices
JP6092428B2 (ja) 特権付き動作を呼び出すためのセキュアインターフェイス
DE112015004562T5 (de) Kontextbasiertes Cloud-System für die Zusicherung von Sicherheit
DE112012003731T5 (de) Verfahren und Vorrichtung zum Schlüssel-Sharing in Verbindung mit dem Remote Desktop Protocol
DE112011105745B4 (de) Bereitstellen einer Funktion eines Basisdatenaustauschsystems (BIOS) in einer privilegierten Domain
DE112011105752T5 (de) Webbasierte Schnittstelle zum Zugriff auf eine Funktion eines Basic Input/Output-Systems
DE112018004210T5 (de) Sichere prozessorbasierte Steuerungsebenen-Funktionsvirtualisierung in Cloud-Systemen
DE112018001559B4 (de) Cachespeicherlose sitzungsticket-unterstützung bei tls-prüfung
DE112015004555T5 (de) Verarbeiten eines Gast-Ereignisses in einem von einem Hypervisor gesteuerten System
DE112014000965T5 (de) Verarbeiten eines Gastereignisses in einem hypervisorgesteuerten System
DE112011105577T5 (de) Virtueller hochprivilegierter Modus für eine Systemverwaltungsanforderung
DE102012203561A1 (de) Die Personifikation/Bevollmächtigung eines Benutzers in einem Merkmal-basierenden Authentifizierungssystem
JP2021515342A (ja) 仮想アプリケーションの即時起動
US9087322B1 (en) Adapting service provider products for multi-tenancy using tenant-specific service composition functions
US10721719B2 (en) Optimizing caching of data in a network of nodes using a data mapping table by storing data requested at a cache location internal to a server node and updating the mapping table at a shared cache external to the server node
US11057358B2 (en) Concealment of customer sensitive data in virtual computing arrangements
Jaiswal et al. Infrastructure as a service: security issues in cloud computing
DE102021127629A1 (de) Virtualisierung der sicheren speicherung eines baseboard management controllers auf einem host- computergerät
US20190332798A1 (en) Concealment of Customer Sensitive Data In Virtual Computing Arrangements
US11636068B2 (en) Distributed file locking for a network file share
Iqbal et al. Introducing controlling features in cloud environment by using SNMP

Legal Events

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

Free format text: PREVIOUS MAIN CLASS: G06F0009220000

Ipc: G06F0009440100

R082 Change of representative

Representative=s name: HOFFMANN - EITLE PATENT- UND RECHTSANWAELTE PA, DE

Representative=s name: SCHOPPE, ZIMMERMANN, STOECKELER, ZINKLER, SCHE, DE

R081 Change of applicant/patentee

Owner name: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P., SPR, US

Free format text: FORMER OWNER: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P., HOUSTON, TEX., US

R082 Change of representative

Representative=s name: HOFFMANN - EITLE PATENT- UND RECHTSANWAELTE PA, DE

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee