-
VERWANDTE ANMELDUNGEN
-
Diese
Anmeldung ist mit den folgenden Anmeldungen verwandt, die am selben
Tag wie diese Anmeldung eingereicht wurden:
„Personal
Guard” an Moshe Maor, Anwaltsregisternummer P25461;
„Personal
Vault” an Moshe Maor, Anwaltsregisternummer P26881;
„Secure
Input” an Douglas Gabel und Moshe Maor, Anwaltsregisternummer
P26882;
„Secure Client/Server Transactions” an
Moshe Maor, Anwaltsregisternummer P26890.
-
TECHNISCHES GEBIET
-
Die
Erfindungen betreffen allgemein abgesicherte Eingaben für
eine Management-Engine.
-
ALLGEMEINER STAND DER TECHNIK
-
Es
gibt derzeit eine große Anzahl verschiedener Arten von
Keyloggern, die es Hackern ermöglichen, sich in verschiedene
Ebenen des Software-Stacks auf dem Computer eines Nutzers einzuklinken.
Der Einklinkpunkt kann auf einer so niedrigen Ebene (das heißt,
so Hardware-nah) wie ein Tastatur-Basistreiber oder auf einer so
hohen Ebene (das heißt, so Hardware-fern) wie ein Script
liegen, das innerhalb des Funktionsbereichs eines Internet-Browsers
arbeitet. Auf diese Weise können Software-basierte Keylogger
und andere Arten von Malware durch einen Hacker verwendet werden,
um sensible Informationen zu stehlen, die ein Nutzer in einen Computer
eintippt. Daraus ist die Notwendigkeit entstanden, die sensiblen
Informationen eines Nutzers vor einem Hacker zu schützen,
der Keylogger und andere Arten von Malware benutzt.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
Die
Erfindungen werden anhand der folgenden detaillierten Beschreibung
und anhand der begleitenden Zeichnungen einiger Ausführungsformen der
Erfindungen besser verstanden. Die Beschreibung und die Zeichnungen
dienen jedoch nicht der Beschränkung der Erfindungen auf
die konkret beschriebenen Ausführungsformen, sondern lediglich der
Erklärung und dem besseren Verständnis.
-
1 veranschaulicht
ein System gemäß einigen Ausführungsformen
der Erfindungen.
-
2 veranschaulicht
ein System gemäß einigen Ausführungsformen
der Erfindungen.
-
3 veranschaulicht
ein System gemäß einigen Ausführungsformen
der Erfindungen.
-
4 veranschaulicht
ein Ablaufdiagramm gemäß einigen Ausführungsformen
der Erfindungen.
-
5 veranschaulicht
eine grafische Darstellung gemäß einigen Ausführungsformen
der Erfindungen.
-
6 veranschaulicht
ein System gemäß einigen Ausführungsformen
der Erfindungen.
-
7 veranschaulicht
ein System gemäß einigen Ausführungsformen
der Erfindungen.
-
8 veranschaulicht
ein System gemäß einigen Ausführungsformen
der Erfindungen.
-
DETAILLIERTE BESCHREIBUNG
-
Einige
Ausführungsformen der Erfindungen betreffen abgesicherte
Eingaben für eine Management-Engine. In einigen Ausführungsformen
steuert ein Controller ein Eingabegerät, empfängt
Eingabeinformationen von dem Eingabegerät, schließt
einen Host-Prozessor von der Steuerung des Eingabegerätes
aus und sichert die von dem Eingabegerät empfangenen Eingabeinformationen
so ab, dass die Eingabeinformationen nicht durch den Host-Prozessor oder
durch irgend eine auf dem Host-Prozessor laufende Software empfangen
werden.
-
In
einigen Ausführungsformen enthält ein Verfahren
folgende Schritte: Steuern eines Eingabegerätes, Empfangen
von Eingabeinformationen von dem Eingabegerät, Ausschließen
eines Host-Prozessors von der Steuerung des Eingabegerätes,
und Absichern der von dem Eingabegerät empfangenen Eingabeinformationen
in einer solchen Weise, dass die Eingabeinformationen nicht durch
den Host-Prozessor oder durch irgend eine auf dem Host-Prozessor
laufende Software empfangen werden.
-
In
einigen Ausführungsformen arbeitet ein Controller in drei
verschiedenen Modi, und zwar: einem ersten Modus, der es ermöglicht,
dass Eingabeinformationen von einem Eingabegerät direkt
zu einer auf einem Host-Computer laufenden Software fließen;
einem zweiten Modus, der es ermöglicht, dass Eingabeinformationen
von dem Eingabegerät direkt in einen sicheren Controller
fließen, und verhindert, dass die Eingabeinformationen
von dem Eingabegerät zu irgend einer auf dem Host-Computer
laufenden Software fließen; und einem dritten Modus, der
es ermöglicht, dass Eingabeinformationen von dem Eingabegerät direkt
in den sicheren Controller fließen, und es außerdem
ermöglicht, dass die Eingabeinformationen von dem Eingabegerät
zu der auf dem Host-Computer laufenden Software fließen.
-
1 veranschaulicht
ein System 100 gemäß einigen Ausführungsformen.
In einigen Ausführungsformen enthält das System 100 einen
Computer 102 und einen Remote-Server 104. 1 veranschaulicht,
wie ein Endnutzer 110 (zum Beispiel ein Internetkäufer
von Waren und/oder Dienste), der einige Interneteinkäufe
mittels des Computers 102 tätigt, der (zum Beispiel über
das Internet) mit dem Remote-Server 104 verbunden ist,
den Angriffen eines Hackers 112 ausgesetzt sein kann. In
dem Beispiel des Interneteinkaufs könnte ein gängiges
Szenario aus folgenden nummerierten Schritten bestehen:
Der
Endnutzer 110 benutzt einen Internet-Browser, der auf den
Computer 102 geladen ist, um auf einer e-Commerce-Website
zu surfen und Waren zum Kauf auszusuchen (zum Beispiel über
einen Remote-Server 104 einer Website namens „www.buyalot.com”).
-
Der
Nutzer 110 wählt einige Waren von der „www.buyalot.com”-Website
und legt sie in einen virtuellen Warenkorb.
-
An
einem bestimmten Punkt, wenn der Nutzer 110 alle seine
Waren in den Korb gelegt hat, klickt er auf die Schaltfläche „Zur
Kasse”.
-
Der
e-Commerce-Server 104 öffnet ein Formular in einem
Fenster für den Nutzer 110 und fordert den Nutzer
auf, Zahlungsinformationen in das Formular einzugeben.
-
Der
Nutzer 110 gibt sensible Daten in Felder des Formulars
ein, wie zum Beispiel eine Kreditkartennummer, eine Telefonnummer,
seinen vollständigen Namen, seine Adresse usw.
-
Der
e-Commerce-Server 104 sendet an den Nutzer einen Beleg
zurück.
-
Während
der sensibelsten Abschnitte des oben beschriebenen beispielhaften
Szenarios (zum Beispiel während der Schritte 4 und 5) findet
die Kommunikation zwischen dem Internet-Browser des Nutzers 110 und
dem Server 104 des räumlich abgesetzten Standortes
in der Regel auf einer abgesicherten Verbindung 132 statt,
wie zum Beispiel einer Secure Socket Lager (SSL) und/oder einer
Transfer Lager Security (TLS). Dies verhindert, dass ein Unbefugter,
wie zum Beispiel ein Hacker 112 im Internet, der die durch
den Nutzer eingegebenen sensiblen Daten abfangen will, diese Daten
erhält, ohne zuvor Verschlüsselungsalgorithmen
knacken zu müssen, die durch die abgesicherte Verbindung
benutzt werden (das heißt, SSL- und/oder TLS-Verschlüsselungsalgorithmen).
Das ist dank einer sehr hohen mathematischen Komplexität,
mit der sich der Hacker 112 konfrontiert sieht, in der
Regel kein Problem. Der Pfeil 134 veranschaulicht einen
Versuch des Hackers 112, über dieses Verfahren
an Informationen zu gelangen. Über dem Pfeil 134 steht
ein „X”, um die außerordentlichen Schwierigkeiten
zu veranschaulichen, die bei einem Diebstahlversuch dieser Art zu überwinden
sind.
-
Der
typische Nutzer 110 ist sich normalerweise bewusst, dass
ein gewisser Schutz notwendig ist, um den Diebstahl von persönlichen
Informationen, die in ein solches Szenario eingegeben werden, zu verhüten.
Zum Beispiel wissen die meisten Nutzer, dass sie auf ein spezielles
Symbol achten müssen, dass normalerweise in einer Statusleiste
des Internet-Browsers angezeigt wird und das anzeigt, dass die aktuelle
Sitzung über eine abgesicherte Verbindung stattfindet.
Allerdings kann ein ausgebuffter Hacker 112auch versuchen,
die sensiblen Informationen auf einem gänzlich anderen
Weg zu stehlen, der nicht durch eine abgesicherte Verbindung 132,
wie zum Beispiel SSL oder TLS, gesichert ist. Zum Beispiel kann
in einigen Ausführungsformen der Hacker 112 einen
Keylogger oder eine andere Malware benutzen, um die sensiblen Informationen
zu erlangen, wie über den Pfeil 136 in 1 veranschaulicht
ist. Derzeit gibt es eine große Anzahl verschiedener Arten
von Keyloggern und/oder anderer Malware, die zum Beispiel in der
Lage sind, sich in verschiedene Ebenen des Software-Stacks, der
auf dem Computer 102 installiert ist, einzuklinken. Der
Einklinkpunkt für die Keylogger und/oder Malware kann beispielsweise auf
einer so niedrigen Ebene (das heißt, so Hardware-nah) wie
ein Tastatur-Basistreiber oder auf einer so hohen Ebene (das heißt,
so Hardware-fern) wie ein Script liegen, das innerhalb des Funktionsbereichs
eines Internet-Browsers, der auf dem Computer 102 installiert
ist, arbeitet. Darum ist es zwar sehr wichtig, Netzwerkdiebstahlangriffen
auf die sensiblen Daten entgegenzuwirken, doch es genügt
nicht, Diebstahlangriffe auf sensible Daten vollständig
auszuschalten (was beispielsweise zu Identitätsdiebstahl
führt).
-
2 veranschaulicht
ein System 200 gemäß einigen Ausführungsformen.
In einigen Ausführungsformen enthält das System 200 einen
Computer 202 und einen Remote-Server 204. 2 veranschaulicht,
wie sich ein Endnutzer 210 (zum Beispiel ein Internetkäufer
von Waren und/oder Diensten), der einige Interneteinkäufe über
den Computer 202, der (zum Beispiel über das Internet)
mit dem Remote-Server 204 verbunden ist, tätigt,
vor Angriffen eines Hackers 212 schützen kann. Ähnlich
der Anordnung, die mit Bezug auf 1 beschrieben
ist, findet die Kommunikation zwischen dem Internet-Browser des
Computer 202 des Nutzers und dem Server 204 des
räumlich abgesetzten Standortes in der Regel auf einer
abgesicherten Verbindung 232 statt, wie zum Beispiel einer
Secure Socket Layer (SSL) und/oder einer Transfer Layer Security
(TLS). Dies verhindert, dass ein Unbefugter, wie zum Beispiel ein Hacker 212 im
Internet, der die durch den Nutzer eingegebenen sensiblen Daten
abfangen will, diese Daten erhält, ohne zuvor Verschlüsselungsalgorithmen knacken
zu müssen, die durch die abgesicherte Verbindung benutzt
werden (das heißt, SSL- und/oder TLS-Verschlüsselungsalgorithmen).
-
Der
Computer 202 enthält eine Management-Engine (und/oder
Manageability-Engine und/oder ME). In einigen Ausführungsformen
ist die ME 242 ein Mikrocontroller und/oder ein eingebetteter
Controller. In einigen Ausführungsformen ist die ME 242 in
einem Chipsatz des Computers 202 enthalten. In einigen
Ausführungsformen ist die ME 242 in einem Memory-Controller-Hub
(MCH) des Computers 202 enthalten. In einigen Ausführungsformen
ist die ME 242 in einem Graphics-and-Memory-Controller-Hub
des Computers 202 enthalten.
-
In
einigen Ausführungsformen kann die ME 242 unter
Verwendung eines eingebetteten Controllers implementiert sein, der
ein CPU-interner Verwaltungsmechanismus zum räumlich abgesetzten
Entdecken, Heilen und Schützen von Computersystemen ist.
In einigen Ausführungsformen wird dieser Controller als
Basis für Softwarelösungen verwendet, um beispielsweise
wichtige Manageability-Probleme zu lösen, die Effizienz
von Fernmanagement- und Asset-Inventory-Funktionen in Verwaltungssoftware von
Dritten zu verbessern oder die Funktionalität missionskritischer
Agents vor Betriebssystem(BS)-Ausfällen, Stromausfall und
absichtlichem oder versehentlichem Abkoppeln von Clients zu schützen.
In einigen Ausführungsformen unterstützt die Infrastruktur
die Erzeugung von Setup- und Konfigurationsschnittstellen für
Verwaltungsanwendungen sowie Netzwerk-, Sicherheits- und Speicheradministration. Die
Plattform bietet Verschlüsselungsunterstützung mittels Transport
Layer Security (TLS) sowie zuverlässige Authentifizierungsunterstützung.
-
In
einigen Ausführungsformen ist die ME eine Hardware-Architektur,
die in Firmware integriert ist. Ein Mikrocontroller innerhalb eines
Graphics-and-Memory-Controller-Hubs eines Chipsatzes beherbergt
Management-Engine(ME)-Firmware, die verschiedene Dienste im Auftrag
von Verwaltungsanwendungen implementiert. Lokal kann die ME Aktivitäten,
wie zum Beispiel den Heartbeat eines lokalen Verwaltungs-Agent, überwachen
und automatisch Korrekturmaßnahmen einleiten. Räumlich abgesetzt
können die externen Systeme mit der ME-Hardware kommunizieren,
um Diagnose- und Wiederherstellungsaktionen durchzuführen,
wie zum Beispiel das Installieren, Laden oder Neustarten von Agents,
Diagnoseprogrammen, Treibern und sogar Betriebssystemen.
-
Personal-Guard-Technologie,
die in dem System 200 enthalten ist, kann dafür
verwendet werden, sämtliche versuchten Angriffe von Keyloggern und
anderen Arten von Malware komplett abzuwehren. In einigen Ausführungsformen übernimmt
die Management-Engine (und/oder Manageability-Engine und/oder ME) 242,
die in dem Computer 202 enthalten ist, die Kontrolle über
die Tastatur des Computers 202 und richtet einen vertrauenswürdigen
Pfad zwischen dem Nutzer 210 und der ME 242 über
jegliche Eingabegeräte des Computers 202, wie
zum Beispiel die Tastatur, ein. Außerdem richtet die ME 242 einen
abgesicherten Pfad (wenn auch keine Direktverbindung) zwischen der
ME 242 und dem Remote-Server 204 ein.
-
Wenn
die sensiblen Daten über die ME 242 eingespeist
werden, so verschlüsselt die ME 242 praktisch
die sensiblen Daten, die zum Beispiel der Nutzer 210 eintippt,
bevor die auf dem Computer 202 laufende Software die Daten
erhält (zum Beispiel sensible Daten wie Kreditkartennummern, Telefonnummern,
vollständige Namen, Adressen usw.). Wenn also die Software,
die auf dem Host-Prozessor, zum Beispiel dem Computer 202,
läuft, die Daten handhabt, so sind diese bereits verschlüsselt
und deshalb für Keylogger nicht verwertbar, wenn der Hacker 212 versucht,
die Daten über den Pfeil 236 zu stehlen. Das heißt,
ganz egal, welche Art von Keylogger in der Lage ist, in den Computer 202 einzudringen,
und momentan auf dem Host-Prozessor des Computers 202 als
Teil des Software-Stacks läuft – die sensiblen
Daten des Nutzers 210 werden geheim gehalten, wenn Personal-Guard-Operationen
(zum Beispiel über die ME 242) verwendet werden,
während der Nutzer 210 die Daten eintippt.
-
In 2 ist
die Verwendung von Personal-Guard-Operationen beschrieben, um Hackerangriffen,
wie zum Beispiel mittels Keyloggern, entgegenzuwirken, damit die
durch einen Nutzer eingegebenen sensiblen Daten nicht gestohlen
werden können. Es ist jedoch anzumerken, dass eine Management-Engine,
wie zum Beispiel die ME 242 von 2, nicht
für alle Ausführungsformen erforderlich ist und
dass auch andere Bauelemente dafür verwendet werden können,
die gleichen Arten von Operationen zu implementieren, die im vorliegenden
Text beschrieben sind. Des Weiteren sind eine ME der Marke Intel
und/oder ein Intel-AMT nicht für alle Ausführungsformen
erforderlich, und es können auch andere Bauelemente verwendet
werden, um die gleichen Arten von Operationen zu implementieren,
die im vorliegenden Text beschrieben sind.
-
3 veranschaulicht
ein System 300 gemäß einigen Ausführungsformen.
In einigen Ausführungsformen enthält das System 300 ein
Eingabegerät 302 (zum Beispiel eine Tastatur,
eine Maus und/oder eine andere Art von Eingabegerät), ein
Betriebssystem (BS) und/oder einen Internet-Browser 304,
einen Remote-Server 306 und einen Hacker (und/oder einen
Hacker-Computer) 308. 3veranschaulicht
einen Unterschied zwischen einem System, das durch Internet-basierte
Verschlüsselung, wie zum Beispiel SSL oder TLS, geschützt
ist (im oberen Teil von 3), und einem System, das mit Personal-Guard-Technologie
geschützt ist (im unteren Teil von 3). Im oberen
Teil von 3 findet eine abgesicherte Verbindung 312 (zum
Beispiel unter Verwendung von SSL und/oder TLS und/oder Tunneling-Technologie)
zwischen dem BS/Internet-Browser 304 und dem Remote-Server 306 statt, und
eine Software-basierte Eingabe/Ausgabe 314 findet zwischen
dem Eingabegerät 302 und dem BS/Internet-Browser 304 statt.
In dem Szenario, das oben in 3 veranschaulicht
ist, kann der Hacker 308 Malware und/oder Keylogger verwenden,
um sensible Dateneingaben eines Nutzers abzufangen und zu nutzen.
Unten in 3 hingegen besteht gemäß einigen
Ausführungsformen beispielsweise eine abgesicherte Verbindung 322 zwischen
einem Abschnitt 342 eines Nutzer-Computers (zum Beispiel
einer Management-Engine oder der ME) und dem BS/Internet-Browser 304 unter
Verwendung von Personal-Guard-Technologie. Außerdem werden
gemäß einigen Ausführungsformen beispielsweise
bei 324 sensible Daten zwischen dem Abschnitt 342 (wie zum
Beispiel einer ME) und dem Remote-Server 306 unter Verwendung
von Personal-Guard-Technologie verschlüsselt. Auf diese
Weise können keine Software-basierten Keylogger und andere
Arten von Malware verwendet werden, um sensible Informationseingaben
eines Nutzers am Eingabegerät 302 zu stehlen.
-
4 veranschaulicht
ein Ablaufdiagramm 400 gemäß einigen
Ausführungsformen. Das Ablaufdiagramm 400 enthält
einen Nutzer 402, einen Computer 404 des Nutzers 402 und
einen Server (zum Beispiel einen e-Commerce-Webserver) 406.
Der Computer 404 enthält System-Eingabe/Ausgabe-Hardware
(System-E/A-HW) 412, ein Eingabegerät (zum Beispiel
eine Tastatur und/oder eine Maus) 414, eine Management-Engine
(und/oder Manageability-Engine und/oder ME) 416, einen
Browser 418 und ein Plug-in 420. Die System-E/A-HW 412,
das Eingabegerät 414 und die ME 416 sind
alle beispielsweise in Hardware und/oder Firmware implementiert, und
der Browser 418 und das Plug-in 420 sind alle beispielsweise
in Software implementiert. Der Nutzer 402 ist eine Person,
die zum Browsen an einem räumlich abgesetzten Standort
einen Computer 404 benutzt, für den eine abgesicherte
Eingabe erwünscht ist. Der Nutzer 402 möchte
die Eingaben unter Verwendung von Personal-Guard-Technologie absichern,
um sensible Informationen (zum Beispiel im Rahmen einer Transaktion)
an den Remote-Server 406 zu senden. Die System-E/A-HW 412 ist
eine Kern-E/A-Steuerungsimplementierung innerhalb des Computers 404,
der durch den Nutzer 402 verwendet wird. Sie ist beispielsweise
in dem Chipsatz des Computers 404 implementiert und enthält
Module, die abgesicherte Eingaben und abgesicherte Ausgaben unterstützen.
Das Eingabegerät 414 ist ein externes Hardwaregerät, über
das der Nutzer 402 sensible Daten eingibt (zum Beispiel
durch Eintippen der sensiblen Daten auf einer Tastatur). Die ME 416 ist ebenfalls
beispielsweise in dem Chipsatz des Computers 404 des Nutzers 402 enthalten
und steuert die abgesicherten E/A-Datenflüsse der System-E/A-HW und
implementiert (zum Beispiel in Firmware) den Hauptdatenfluss des
Personal Guard. Der Browser 418 ist die Software, die der
Nutzer 402 normalerweise auf dem Computer 404 ausführt,
um Websites im Internet zu browsen. Es ist anzumerken, dass gemäß einigen
Ausführungsformen Personal-Guard-Technologie verwendet
werden kann, um beispielsweise den abgesicherten Login von anderen
Internet-Technologien zu stärken; das heißt, ein
Webbrowser ist nur ein Beispiel und ist in einigen Ausführungsformen nicht
erforderlich. Das Plug-in 420 ist ein Browser-Plug-in,
das dafür verwendet wird, Daten zwischen der ME 416 (und/oder
der Personal-Guard-Firmware-Anwendung) und dem Remote-Server 406 zu
transportieren. Der Remote-Server 406 (zum Beispiel ein
e-Commerce-Webserver) ist ein Server, mit dem der Nutzer 402 einige
Transaktionen ausführt. Der Server 406 weiß,
dass die Personal-Guard-Technologie durch die ME 416 verwendet
wird, und ist darum in der Lage, den Vorteil von abgesicherten Transaktionen
zu realisieren.
-
In
einigen Ausführungsformen klickt der Nutzer 402 auf
eine Auswahl, wie zum Beispiel „Bezahlung mit Personal
Guard”, woraufhin die Browser-Software 418 dann
die Personal-Guard-Unterstützung mit dem Server 406 aktiviert.
Der Server 406 sendet dann ein Personal-Guard-Plug-in und Daten
(zum Beispiel „blob1”) über den Browser 418 an
das Personal-Guard-Plug-in 420. Das Plug-in 420 sendet
dann ein „Personal Guard initiieren”-Signal an die
ME 416, die dann die Daten („blob1”)
validiert und den Nutzer-Computer 404 veranlasst, in einen
sicheren Modus einzutreten, woraufhin dem Nutzer 402 ein
Popup-Fenster angezeigt wird, in das der Nutzer gefahrlos sensible
und/oder geheime Daten eingeben kann. Der Nutzer 402 gibt
diese Daten über das Eingabegerät 414 geheim
und sicher ein, und die ME 416 verschlüsselt die
Daten (zum Beispiel zu „blob2”). Die verschlüsselten
Daten werden dann über den Browser 418 und/oder
die Plug-in 420-Software an den Server 406 gesendet
(zum Beispiel als „message2”). Der Server 406 sendet
eine Empfangsbestätigung an den Computer 404 zurück,
die dem Nutzer 402 präsentiert wird. Auf diese
Weise werden alle sensiblen und/oder geheimen Dateneingaben durch
den Nutzer 402 an den Server 406 über
den Computer 404 sicher übermittelt, und Softwarebasierte
Keylogger und/oder andere Arten von Malware können keine
der eingegebenen Daten stehlen.
-
5 veranschaulicht
eine grafische Darstellung 500 gemäß einigen
Ausführungsformen. Die grafische Darstellung 500 enthält
eine Website 502
eines Anbieters (wie zum Beispiel einer
Bank oder einer Einkaufs-Website usw.) Zusätzlich zu, oder
anstelle von, dem typischen Website-Login kann ein spezieller Personal-Guard-Login
verwendet werden. Ein Personal-Guard-Fenster 504 wird auf
dem Schirm beispielsweise über oder neben der angezeigten
Website durch eine ME als abgesicherte Grafikausgabe ausgegeben,
durch die ein Nutzer mit der ME kommuniziert, um sensible Informationen
zu transportieren (wie zum Beispiel Kreditkartennummern, Login-Authentifizierungen,
ein Passwort zum Einloggen in eine Website, Telefonnummer, vollständiger
Name des Nutzers, Adressen, Sozialversicherungsnummern usw.)
-
Ein
Personal-Guard-Plug-in veranlasst die ME, das Personal-Guard-Fenster 504 anzuzeigen. Das
Fenster 504 kann beispielsweise nicht durch Software, die
auf der CPU läuft, erfasst werden. Wenn Daten durch die
ME verschlüsselt werden, so werden sie an den Server der
Website gesendet (zum Beispiel eine Bank-Website, wie in 5 gezeigt).
Der Server der Website ist der einzige, der die Daten entschlüsseln
und beispielsweise die Benutzerkennwort- und/oder Passwort-Daten
erhalten kann. Das Fenster 504 enthält zum Beispiel
ein spezielles Benutzerkennwort, das einem Nutzer die Gewähr
gibt, dass die ME dieses Fenster erzeugt hat (zum Beispiel „Benutzerkennwort:
superman”), eine Animation (zum Beispiel „A” oben
links im Fenster 504), die ausgeführt wird, wenn
Nutzereingaben in die ME fließen, eine explizite URL des
Remote-Servers, um IP-Adressvortäuschungen vorzubeugen, was
die wichtigste Phishing-Technik von Hackern ist (zum Beispiel in 5 „www.bank.intel.com”),
Nutzer-Authentifizierungen wie zum Beispiel Benutzerkennwort, Passwort
usw., die in einem gesicherten Speicher der ME abgelegt sind, so
dass ein Nutzer die Daten nicht jedes Mal eingeben muss (nach dem ersten
ME-Login). Die abgesicherte Eingabe erlaubt es dem Nutzer, die Daten
einzugeben und zu bearbeiten. Die Nutzerdaten können im
Fenster 504 im Klartext angezeigt werden oder können
vollständig oder teilweise verdeckt werden, beispielsweise
wie „********”; aber in keinem Fall – ob
die Daten nun im Fenster 504 angezeigt werden oder nicht – können sie
durch eine Software-Anwendung, die auf dem Nutzer-Computer läuft,
oder durch einen Hacker, der versucht, Keylogger-Software und/oder
andere Malware einzusetzen, gelesen werden.
-
6 veranschaulicht
ein System 600 gemäß einigen Ausführungsformen.
Das System 600 enthält einen Chipsatz 602 und
ein Betriebssystem (BS) 604. Der Chipsatz 602 enthält
einen eingebetteten Controller 622, eine sichere Eingabekontrolle 624 und
Eingabegerätschnittstellen 626. In einigen Ausführungsformen
enthalten die Eingabegerätschnittstelle 626 eine
Universal Serial Bus(USB)-Schnittstelle und eine PS/2-Schnittstelle,
aber sie können auch andere Arten von Eingabegerätschnittstellen als
USB- und PS/2-Schnittstellen oder zusätzliche Arten von
Eingabegerätschnittstellen neben USB- und PS/2-Schnittstellen
enthalten (zum Beispiel in einigen Ausführungsformen, die
Bluetooth-Eingabegeräte mit einer Bluetooth-Schnittstelle
verwenden). Eingabegerätschnittstellen 626 können
mit einer Vielzahl unterschiedlicher externer Nutzereingabegeräte 632 gekoppelt
werden. Eine Tastatur und eine Maus sind in 6 als Beispiele
der Arten von externen Eingabegeräten 632 veranschaulicht,
die enthalten sein können, aber in einigen Ausführungsformen werden
auch andere Arten von externen Eingabegeräten verwendet.
Der eingebettete Controller 622 enthält des Weiteren
eine sichere Eingabe/Ausgabe (E/A)-Engine 628, die mit
der sicheren Eingabekontrolle 624 gekoppelt ist. Das BS 604 enthält
einen Eingabegeräte-Softwarestack 642, der mit
der sicheren Eingabekontrolle 624 des Chipsatzes 602 gekoppelt ist.
-
In
einigen Ausführungsformen kann der eingebettete Controller 622 die
Daten von den externen Eingabegeräten 632 durch
Hinzufügen einer sicheren Eingabekontrolle 624 zu
dem Chipsatz 602 empfangen. Es ist anzumerken, dass der
eingebettete Controller 622 in 6 in den
Chipsatz 602 integriert ist; aber es ist anzumerken, dass
der eingebettete Controller 622 in einigen Ausführungsformen
in einer diskreten Komponente enthalten sein kann, in einen anderen
Chip eingebettet sein kann und/oder auf einer Platine des Computers
angeordnet sein kann, wie zum Beispiel auf dem Mainboard oder Motherboard
des Computers. In einigen Ausführungsformen ist der eingebettete
Controller 622 eine Management-Engine, eine Manageability-Engine
und/oder eine ME (die alle im vorliegenden Text auch als „ME” bezeichnet
werden). In einigen Ausführungsformen ist die ME in den
Chipsatz eingebettet (zum Beispiel in einen Memory-Controller-Hub
oder MCH eines Chipsatzes eingebettet).
-
In
einigen Ausführungsformen steuert der eingebettete Controller 622 den
Betrieb in einer solchen Weise, dass Eingabedaten direkt in die
BS 604 und/oder in Software, die auf dem Computer abläuft, fließen.
In einigen Ausführungsformen steuert der eingebettete Controller 622 den
Betrieb in einer solchen Weise, dass Eingabedaten direkt in den
eingebetteten Controller 622 und nicht in die BS 604 und/oder
in Software, die auf dem Computer abläuft, fließen
(das heißt, die Eingabe wird gesichert und wird nur durch
den eingebetteten Controller 622) gesehen. In einigen Ausführungsformen
steuert der eingebettete Controller 622 den Betrieb in
einer solchen Weise, dass Eingabedaten direkt in die BS 604 und/oder
in Software, die auf dem Computer abläuft, fließen,
und in einer solchen Weise, dass Eingabedaten direkt in den eingebetteten
Controller 622 fließen.
-
In
einigen Ausführungsformen kann ein Nutzer den eingebetteten
Controller 622 auch dann auslösen, wenn die aktuelle
Konfiguration des Steuerblocks 624 die Eingabedaten direkt
und nur an die BS 604 und/oder nur an Software, die auf
dem Computer abläuft, senden soll. Dies erlaubt es dem
Endnutzer des Computers, die Firmware des eingebetteten Controllers 622 während
des normalen Systembetriebes in einer abgesicherten Weise auszulösen, die durch
keine Art von Malware, die auf dem Host-Computer läuft,
vorgetäuscht werden kann. Zum Beispiel kann ein Nutzer
in einigen Ausführungsformen auf einem Nutzereingabegerät 632,
wie zum Beispiel einer Tastatur, eine Hotkey-Sequenz eingeben, die
den eingebetteten Controller 622 auslöst.
-
In
einigen Ausführungsformen wird eine sichere E/A in einer
solchen Weise bereitgestellt, dass ein Nutzer direkt mit einem eingebetteten
Controller, wie zum Beispiel einem eingebetteten Controller 622 und/oder
einer ME, interagieren kann. In einigen Ausführungsformen,
einschließlich denen, die in 6 veranschaulicht
sind, erlaubt es eine Personal-Guard-Implementierung dem eingebetteten
Controller und/oder der ME, mit dem Nutzer zu interagieren und seine
vertraulichen Daten in einer abgesicherten Weise (zum Beispiel unter
Verwendung von Verschlüsselung) an einen Remote-Webserver
zu senden. Malware, die auf dem Host-Computer, der Host-CPU und/oder
dem BS läuft, kann diese vertraulichen Daten nicht stehlen.
-
In
einigen Ausführungsformen besitzt ein eingebetteter Controller,
wie zum Beispiel der eingebettete Controller 622, die Fähigkeit,
direkt mit dem Nutzer zu interagieren und Daten von dem Nutzer über
ein Eingabegerät in einer abgesicherten Weise zu empfangen.
In einigen Ausführungsformen meint „abgesicherte
Eingabe”, dass die Eingabedaten nicht den Host-Prozessor
(CPU) passieren und darum nicht anfällig für Malware
ist, die möglicherweise auf dieser CPU läuft und
die versucht, die vom Nutzer eingegebenen Daten zu stehlen.
-
Weitere
verwandte Implementierungen sicherer Eingaben durch Eingabegeräte
sind in anderen Anmeldungen beschrieben, die durch den Erfinder
dieser Anmeldung und/oder durch den Rechtsnachfolger dieser Anmeldung
eingereicht wurden. Zum Beispiel ist in einer Anmeldung mit dem
Titel „Secure Input” an Douglas Gabel und Moshe
Maor, Anwaltsregisternummer P26882, eine Implementierung offenbart,
die in einigen Ausführungsformen USB-Eingabegeräte
betrifft.
-
7 veranschaulicht
ein System 700 gemäß einigen Ausführungsformen.
Das System 700 enthält eine Input/Output-Controller-Hub(ICH)-Logik 702 und
externe Eingabegeräteports 705. In einigen Ausführungsformen
können beliebige Anzahlen von Ports 705 vorhanden
sein. In einigen Ausführungsformen sind die Ports 705 externe
USB-Ports. Die ICH-Logik 702 enthält Universal-Host-Controller-Interfaces
und/oder USB-Host-Controller-Interfaces 706 (UHCI) UHCI
Nr. 1, UHCI Nr. 2, ..., UHCI Nr. n, wobei n die Anzahl von UHCIs
ist und n eine ganze Zahl von mindestens 1 ist. In einigen Ausführungsformen,
wie zum Beispiel in USB-Ausführungsformen, ist jede der
UHCIs mit zwei Ports 705 gekoppelt und kann zwei Ports 705 handhaben.
In einigen Ausführungsformen ist jede der UHCIs 706 über
eine Host-Schnittstelle 716 mit dem Host-Computer gekoppelt,
um eine Host-Steuerung der UHCIs 706 zu ermöglichen.
Die ICH-Logik 702 enthält außerdem eine
Enhanced-Host-Controller-Interface (EHCI) 708, die mit
jedem der Ports 705 gekoppelt ist. In einigen Ausführungsformen
ist die EHCI 708 über eine Host-Schnittstelle 718 mit
dem Host-Computer gekoppelt, um eine Host-Steuerung der EHCI 708 zu
ermöglichen.
-
In
einigen Ausführungsformen enthält die ICH-Logik 702 des
Weiteren einen Multiplexer (MUX) 722 und eine ME-UHCI 724,
die direkt durch eine ME gesteuert wird. Das System 700 enthält
außerdem einen ME:UHCI-Treiber 726, um die ME-UHCI 724 mit der
ME zu koppeln, und eine ME:Routing-Steuerschnittstelle 728.
-
8 veranschaulicht
ein System 800 gemäß einigen Ausführungsformen.
Das System 800 enthält einen Input/Output-Controller-Hub
(ICH) 802, einen Memory-Controller-Hub (MCH) 804 und
externe Eingabegeräteports 805. In einigen Ausführungsformen
können beliebige Anzahlen von Ports 805 vorhanden
sein. In einigen Ausführungsformen sind die Ports 805 externe
USB-Ports. Die ICH 802 enthält Universal-Host-Controller-Interfaces
und/oder USB-Host-Controller-Interfaces 806 (UHCI) UHCI
Nr. 1, UHCI Nr. 2, ..., UHCI Nr. n, wobei n die Anzahl von UHCIs
ist und n eine ganze Zahl von mindestens 1 ist. In einigen Ausführungsformen,
wie zum Beispiel in USB-Ausführungsformen, ist jede der
UHCIs mit zwei Ports 805 gekoppelt und kann zwei Ports 805 handhaben.
In einigen Ausführungsformen ist jede der UHCIs 806 über
eine Host-Schnittstelle 816 und über ein Backbone 880 mit
dem Host-Computer gekoppelt, um eine Host-Steuerung der UHCIs 806 zu ermöglichen.
Die ICH 802 enthält außerdem eine Enhanced-Host-Controller-Interface
(EHCI) 808, die mit jedem der Ports 805 gekoppelt
ist. In einigen Ausführungsformen ist die EHCI 808 über
eine Host-Schnittstelle 818 der ICH 802 und über
das Backbone 880 mit dem Host-Computer gekoppelt, um eine Host-Steuerung
der EHCI 808 zu ermöglichen.
-
In
einigen Ausführungsformen enthält die ICH 802 des
Weiteren einen Multiplexer (MUX) 822 und eine ME-UHCI 824,
die direkt durch eine ME 852 des MCH 804 gesteuert
wird. Das System 800 enthält außerdem
einen ME:UHCI-Treiber 826, um die ME-UHCI 824 mit
der ME 852 zu koppeln, und eine ME:Routing-Steuerschnittstelle 828,
um die ME 852 mit dem MUX 822 zu koppeln. Die
ME 852 des MCH 804 enthält einen Schnittstellen-Stack 854 (zum
Beispiel einen USB-Stack), eine Schnittstellensteuerung 856 (zum
Beispiel eine USB-Steuerung) und Personal-Guard-Technologie 858.
Die ME 852 enthält des Weiteren einen programmierbaren
Gerätetreiber 862, der über eine Durchgangsschnittstelle 864 mit einem
programmierbaren Schnittstellengerät 832 der ICH 802 (zum
Beispiel einem programmierbaren USB-Gerät) gekoppelt ist.
-
In
einigen Ausführungsformen wird ein vertrauenswürdiger
Pfad zwischen einem abgesicherten Nutzer und einer ME bereitgestellt,
indem eine Direktsteuerung eines Eingabegerätes, wie zum
Beispiel einer Tastatur, durch die ME gestattet wird (zum Beispiel,
in einigen Ausführungsformen, durch die ME 852).
Tastaturanschläge, die durch einen Nutzer ausgeführt
werden, kann durch keine Art von Software gesehen werden, die auf
dem Host-Rechner läuft, sondern werden statt dessen durch
eine ME empfangen (zum Beispiel die ME 852). Die im vorliegenden Text
veranschaulichte und beschriebene Verfahrensweise ist besonders
dort geeignet, wo Tastaturanschläge von einer Nutzer-Tastatur über
eine Host-Computer-Softwarekomponente zu einer ME transportiert
werden, weil bei dieser Verfahrensweise kein Schutz vor Schadsoftware
(das heißt Malware) geboten wird, die möglicherweise
auf der Host-CPU läuft, um beispielsweise die Tastaturanschläge
zu registrieren.
-
In
einigen Ausführungsformen hat, um sichere Eingaben von
einem Eingabegerät, wie zum Beispiel einer USB-Tastatur,
zu ermöglichen, eine ME (zum Beispiel die ME 852)
die volle Kontrolle über das Eingabegerät anstelle
des Host-Prozessors. Jedoch läuft das System die meiste
Zeit nicht in einem Modus, in dem die eigentlichen Nutzereingaben
(Tastaturanschläge) durch die ME aufgenommen werden müssen.
Darum nimmt die ME in einigen Ausführungsformen die Nutzereingaben
auf und leitet sie an den Host-Prozessor weiter. Wenn ein abgesichertes Eingabeszenario
erforderlich ist, so nimmt die ME einfach die Eingaben selbst auf
und leitet die ankommenden Daten nicht an die Host-Software weiter.
-
In
einigen Ausführungsformen ist eine Routing-Logik in dem
Chipsatz enthalten, die es ermöglicht, dass die ME das
Eingabegerät (zum Beispiel eine Tastatur) steuert. In einigen
Ausführungsformen ist ein ME-Host-Controller, wie zum Beispiel
ein ME-USB-Host-Controller, an ein Eingabegerät angeschlossen,
so dass die ME es steuern kann (zum Beispiel die ME-UHCI 724 und/oder
die ME-UHCI 824). In einigen Ausführungsformen
wird ein Eingabegeräte-Firmware-Stack in der ME (zum Beispiel
ist der USB-Stack 854 in der ME 852 ein USB-Firmware-Stack)
verwendet, um alle Geräte aufzulisten (alle USB-Geräte
aufzulisten), um vom Menschen bediente Eingabegeräte (Human
Input Devices – HIDs) zu identifizieren, die sie steuern
will, um dieses Gerät zu steuern (zum Beispiel, um eine
Tastatur oder eine Maus zu steuern), und/oder zu Endpunkten (USB-Endpunkten)
durchzuleiten, die nicht Teil der Boot-Tastatur sind (zum Beispiel
Schnittstellen, die dafür verwendet werden, neue Tasten
zu exponieren, wie zum Beispiel Audio- und Leistungssteuerung).
In einigen Ausführungsformen ist ein programmierbares Gerät
(zum Beispiel ein programmierbares USB-Gerät 832)
in der ICH enthalten, um eine virtuelle Tastatur zu exponieren,
durch die alle nicht-abgesicherten Eingaben geleitet werden können.
In einigen Ausführungsformen – wann immer ein
Eingabegerät, wie zum Beispiel eine Tastatur, Eingaben
erzeugt, die zu der Host-CPU fließen müssen – emuliert
das programmierbare Gerät (zum Beispiel das programmierbare
USB-Gerät 832) das Eingabegerät (wie
zum Beispiel eine Tastatur), das durch die Host-CPU gesteuert wird.
Durch dieses emulierte Eingabegerät kann die ME die ankommenden
Tastaturanschläge weitersenden.
-
In
einigen Ausführungsformen wird eine ME-UHCI (zum Beispiel
die ME-UHCI 724 und/oder die ME-UHCI 824) in die
ICH hinzugefügt. Die ME-UHCI wird direkt durch eine ME
(zum Beispiel die ME 852) gesteuert. Eine ME-gesteuerte
Routing-Logik (zum Beispiel die ME:UHCI-Treiber 726 und/oder 826 und/oder
die ME:Routing-Steuerung 728 und/oder 828) wird
hinzugefügt, die es der ME erlaubt, jedes verbundene Gerät
(wie zum Beispiel ein USB-Gerät) über die ME-UHCI
zu steuern.
-
Obgleich
einige Ausführungsformen im vorliegenden Text als in einer
bestimmten Weise implementiert beschrieben wurden, sind diese bestimmten Implementierungen
gemäß einigen Ausführungsformen nicht
unbedingt erforderlich. Obgleich zum Beispiel einige Ausführungsformen
so beschrieben wurden, dass sie eine ME verwenden, erfordern andere Ausführungsformen
nicht die Verwendung einer ME.
-
Obgleich
einige Ausführungsformen unter Bezug auf konkrete Implementierungen
beschrieben wurden, sind gemäß einigen Ausführungsformen auch
andere Implementierungen möglich. Außerdem brauchen
die Anordnung und/oder die Reihenfolge der Schaltkreiselemente oder
andere Merkmale, die in den Zeichnungen veranschaulicht und/oder
im vorliegenden Text beschrieben sind, nicht der konkret veranschaulichten
und beschriebenen Art und Weise zu entsprechen. Gemäß einigen
Ausführungsformen sind viele anderen Anordnungen möglich.
-
In
jedem System, das in einer Figur gezeigt ist, können die
Elemente in einigen Fällen jeweils die gleiche Bezugszahl
oder eine anderen Bezugszahl haben, um anzuzeigen, dass die dargestellten
Elemente verschieden und/oder ähnlich sein könnten. Jedoch
kann ein Element auch so flexibel sein, dass verschiedenen Implementierungen
möglich sind und dass es mit einigen oder allen der im
vorliegenden Text gezeigten oder beschriebenen Systeme zusammenarbeiten
kann. Die in den Figuren gezeigten verschiedenen Elemente können
gleich oder voneinander verschieden sein. Welches als ein erstes
Element bezeichnet wird und welches als ein zweites, ist irrelevant.
-
In
der Beschreibung und in den Ansprüchen können
die Begriffe „gekoppelt” und „verbunden” zusammen
mit ihren Ableitungen verwendet werden. Es ist zu beachten, dass
diese Begriffe nicht als Synonyme für einander gedacht
sind. Vielmehr kann in bestimmten Ausführungsformen „verbunden” verwendet
werden, um anzuzeigen, dass zwei oder mehr Elemente in direktem
physischem oder elektrischem Kontakt miteinander stehen. „Gekoppelt” kann
bedeuten, dass zwei oder mehr Elemente in direktem physischem oder
elektrischem Kontakt stehen. Jedoch kann „gekoppelt” außerdem
bedeuten, dass zwei oder mehr Elemente nicht in direktem Kontakt
miteinander stehen, aber trotzdem zusammenwirken oder miteinander
interagieren.
-
Ein
Algorithmus gilt hier, und allgemein, als eine in sich geschlossene
Abfolge von Aktionen oder Operationen, die zu einem gewünschten
Ergebnis führen. Dazu gehören physikalische Manipulationen physikalischer
Quantitäten. Gewöhnlich, wenn auch nicht notwendigerweise,
nehmen diese Quantitäten die Form elektrischer oder magnetischer
Signale an, die gespeichert, übertragen, kombiniert, verglichen, und
auf sonstige Weise gehandhabt werden können. Es hat sich
gelegentlich als zweckmäßig erwiesen, besonders
aus Gründen des einheitlichen Sprachgebrauchs, diese Signale
als Bits, Werte, Elemente, Symbole, Zeichen, Terme, Nummern oder
dergleichen zu bezeichnen. Es ist jedoch zu beachten, dass alle
diese und ähnliche Termini mit den entsprechenden physikalischen
Quantitäten zu assoziieren sind und lediglich zweckmäßige
Bezeichner sind, die diesen Quantitäten beigegeben werden.
-
Einige
Ausführungsformen können in Hardware, Firmware
oder Software oder in Kombinationen daraus implementiert werden.
Einige Ausführungsformen können auch als Instruktionen
implementiert werden, die auf einem maschinenlesbaren Medium gespeichert
sind und durch eine Computerplattform gelesen und ausgeführt
werden können, um die im vorliegenden Text beschriebenen
Operationen auszuführen. Ein maschinenlesbares Medium kann
einen beliebigen Mechanismus zum Speichern oder Übertragen
von Informationen in einer Form enthalten, die durch eine Maschine
(zum Beispiel einen Computer) gelesen werden kann. Zum Beispiel kann ein
maschinenlesbares Medium einen Nurlesespeicher (ROM), einen Direktzugriffsspeicher
(RAM), ein Magnetdiskettenspeichermedium, ein optisches Speichermedium,
Flashspeicherbausteine, eine elektrische, optische, akustische oder
sonstige Form ausgebreiteter Signale (zum Beispiel Trägerwellen, Infrarotsignale,
digitale Signale, die Schnittstellen, die Signale senden und/oder
empfangen, usw.) und anderes enthalten.
-
Eine
Ausführungsform ist eine Implementierung oder ein Beispiel
der Erfindungen. Wenn in der Spezifikation von „einer Ausführungsform”, „einer
bestimmten Ausführungsform”, „einigen
Ausführungsformen” oder „anderen Ausführungsformen” gesprochen
wird, so bedeutet das, dass ein bestimmtes Merkmal, eine bestimmte
Struktur oder eine bestimmte Eigenschaft, das bzw. die in Verbindung
mit den Ausführungsformen beschrieben ist, mindestens in
einigen Ausführungsformen, aber nicht unbedingt in allen
Ausführungsformen der Erfindungen enthalten ist. Die verschiedenen
Ausdrucksweisen „eine Ausführungsform”, „eine
bestimmte Ausführungsform” oder „einige
Ausführungsformen” beziehen sich nicht unbedingt
alle auf dieselben Ausführungsformen.
-
Nicht
alle Komponenten, Merkmale, Strukturen, Eigenschaften usw., die
im vorliegenden Text beschrieben und veranschaulicht sind, brauchen
in einer bestimmten Ausführungsform oder in bestimmten Ausführungsformen
enthalten zu sein. Wenn die Spezifikation zum Beispiel besagt, dass
eine Komponente, ein Merkmal, eine Struktur oder eine Eigenschaft
enthalten sein „kann” oder „könnte”,
so ist es nicht erforderlich, dass die bestimmte Komponente, das
bestimmte Merkmal, die bestimmte Struktur oder die bestimmte Eigenschaft
auch tatsächlich enthalten ist. Wenn in der Spezifikation
oder einem Anspruch von „einem” Element gesprochen
wird, so bedeutet das nicht, dass es lediglich ein einziges solches
Element gibt. Wenn die Spezifikation oder die Ansprüche
von „einem zusätzlichen” Element sprechen,
so schließt das nicht aus, dass auch mehrere der zusätzlichen
Elemente vorhanden sein können.
-
Obgleich
im vorliegenden Text Prozessablaufdiagramme und/oder Zustandsdiagramme
verwendet worden sein können, um Ausführungsformen zu
beschreiben, sind die Erfindungen nicht auf diese Diagramme oder
auf entsprechende Beschreibungen im vorliegenden Text beschränkt.
Zum Beispiel braucht der Prozessablauf nicht durch jedes veranschaulichte
Kästchen oder jeden veranschaulichten Zustand hindurch
zu verlaufen, oder braucht sich nicht in exakt der gleichen Reihenfolge
zu vollziehen, wie es im vorliegenden Text veranschaulicht und beschrieben
ist.
-
Die
Erfindungen sind nicht auf die im vorliegenden Text genannten konkreten
Details beschränkt. Der Fachmann, der in den Genuss der
vorliegenden Offenbarung kommt, erkennt natürlich, dass
viele weitere Variationen der vorangegangenen Beschreibung und der
Zeichnungen vorgenommen werden können, ohne den Geltungsbereich
der Erfindungen zu verlassen. Dementsprechend sind es die folgenden
Ansprüche einschließlich ihrer Änderungen,
die den Geltungsbereich der Erfindungen definieren.
-
ZUSAMMENFASSUNG
-
In
einigen Ausführungsformen steuert ein Controller ein Eingabegerät,
empfängt Eingabeinformationen von dem Eingabegerät,
schließt einen Host-Prozessor von der Steuerung des Eingabegerätes
aus und sichert die von dem Eingabegerät empfangenen Eingabeinformationen
so ab, dass die Eingabeinformationen nicht durch den Host-Prozessor oder
durch irgend eine auf dem Host-Prozessor laufende Software empfangen
werden. Es werden noch weitere Ausführungsformen beschrieben
und beansprucht.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste
der vom Anmelder aufgeführten Dokumente wurde automatisiert
erzeugt und ist ausschließlich zur besseren Information
des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen
Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt
keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Nicht-Patentliteratur
-
- - www.buyalot.com [0016]
- - www.buyalot.com [0017]
- - www.bank.intel.com [0035]