-
HINTERGRUND DER ERFINDUNG
-
1. Gebiet der Erfindung
-
Diese Erfindung bezieht sich allgemein auf ein System und ein Verfahren zum sicheren Herunterladen von Firmware auf ein Fahrzeug-elektronisches Steuergerät (ECU) und insbesondere auf ein System und ein Verfahren zum sicheren Herunterladen von Firmware auf eine Fahrzeug-ECU, das das Verifizieren, dass die Firmware authentisch ist, durch Validieren der Firmware unter Verwendung zweier separater vertrauenswürdiger Quellen beinhaltet.
-
2. Diskussion des Standes der Technik
-
Viele moderne Fahrzeuge beinhalten elektronische Steuereinheiten (ECUs), oder Steuergeräte, die den Betrieb der Fahrzeugsysteme, beispielsweise des Antriebsstrang, des Klimasteuersystems, des Infotainment-Systems, der Body-Systeme, der Chassis-Systeme und dergleichen steuern. Diese Steuergeräte benötigen für besondere Zwecke gestaltete Software, d. h. Ausführungscode und Kalibrierungen, um die Steuerfunktionen durchzuführen. Mit der zunehmenden Zahl und Komplexität dieser Steuergeräte und der wachsenden Furcht, die von Entwicklern von Schadsoftware ausgeht, ist es wichtiger denn je, die Herkunftsquelle und den Inhalt von binären Files, die in Automobilsteuergeräte geladen werden, zu authentifizieren. Die Konsequenzen vom Gebrauch von Software, die nicht einwandfrei validiert wurde oder die – schlimmer noch – schadhaft entworfen wurde, in einem Fahrzeugsteuergerät, beinhaltet das unbeabsichtigte Verhalten des Fahrzeugs oder seiner Systeme, den Verlust von Antidiebstahl-Eigenschaften auf dem Fahrzeug, das potentielle Herumpfuschen an Komponenten wie beispielsweise dem Kilometerzähler und der Verlust von anderen Fahrzeugmerkmalen und Funktionen.
-
Eine bekannte digitale Codiertechnik wird als asymmetrische Schlüsselkryptographie bezeichnet, die digitale Signaturen zum Authentifizieren von Files, die in Steuergeräte programmiert sind, verwendet. Wie von Fachleuten gut verstanden ist, verwendet die asymmetrische Schlüsselkryptographie ein Paar von mathematisch miteinander in Beziehung stehenden Schlüsseln, die als öffentlicher Schlüssel und als privater Schlüssel bekannt sind, um eine Nachricht zu verschlüsseln und zu entschlüsseln. Um eine digitale Signatur zu generieren, verwendet ein Signierer seinen privaten Schlüssel, der nur ihm selbst bekannt ist, um eine Nachricht zu verschlüsseln. Die digitale Signatur kann dann von einer anderen Partei später unter Verwendung des öffentlichen Schlüssels, der mit dem privaten Schlüssel des Signierers gepaart ist, entschlüsselt werden.
-
Flashing ist ein gut bekanntes Verfahren zum Hochladen von Software, Kalibrier-Files und anderen Anwendungen in den Speicher einer ECU eines Fahrzeugs oder eines anderen programmierbaren Gerätes. Ein Bootloader ist ein embedded Softwareprogramm, das auf die ECU geladen ist, das ein Interface zwischen der ECU und einem Programmiergerät bereitstellt, welches die Software flashprogrammiert. Der Bootloader flashprogrammiert die Betriebssoftware und Kalibrier-Files in den ECU-Speicher, wobei die Betriebssoftware die Software bereitstellt, die bewirkt, dass verschiedene Fahrzeugfunktionen in Verbindung miteinander arbeiten und die Kalibrier-Files sind die verschiedenen Fahrzeugparameter, wie zum Beispiel Drücke, Temperaturen etc. für die einzelnen Fahrzeugsysteme. Der Bootloader verwendet typischerweise asymmetrische Schlüsselkryptographie und speichert einen öffentlichen Schlüssel, der verwendet werden muss, um eine digitale Signatur zu dekodieren, die von dem hochladenden Computer übermittelt wird, bevor Herunterladen oder neues Flashprogrammieren der ECU gestattet wird, um zu verhindern, dass Schadsoftware oder Kalibrier-Files in die ECU heruntergeladen werden.
-
Bekannte digitale Codiertechniken, wie zum Beispiel die asymmetrische Schlüsselkryptographie, die die oben erwähnten digitalen Signaturen verwendet, sind sehr gut zum Hindern potentieller Hacker am Flashprogrammieren nicht authentischer Software in die ECU. Allerdings können andere Formen von schadhaften Angriffen auf die Firmware, die auf eine Fahrzeug-ECU heruntergeladen werden soll, innerhalb einer Organisation, die Kenntnis über die öffentlichen und privaten Schlüssel hat, herstammen, wobei der potentielle Hacker sich irgendwie Zugang zu den öffentlichen und privaten Schlüsseln verschafft hat, ohne dass er diese entschlüsseln muss.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Im Einklang mit den Lehren der vorliegenden Erfindung werden ein System und ein Verfahren zum Verifizieren, dass Firmware, die auf eine Fahrzeug-ECU heruntergeladen werden soll, authentisch ist, indem zwei separate vertrauenswürdige Quellen zum Verifizieren der Firmware verwendet werden, offenbart. In einer Ausführungsform beinhaltet das Verfahren das Separieren der Firmware in einen ersten Firmware-Teil und einen zweiten Firmware-Teil, und das Signieren des ersten Firmware-Teils mit einem ersten privaten Schlüssel an einer ersten vertrauenswürdigen Quelle. Die erste vertrauenswürdige Quelle hasht den zweiten Firmware-Teil und sendet den gehashten zweiten Firmware-Teil zu einer zweiten vertrauenswürdigen Quelle. Die zweite vertrauenswürdige Quelle signiert den gehashten zweiten Firmware-Teil unter Verwendung eines zweiten privaten Schlüssels und die erste vertrauenswürdige Quelle sendet die Firmware und die Signatur des ersten Firmware-Teils an ein Herunterlade-Werkzeug. Das Fahrzeug fordert die Firmware und die Signatur des ersten Firmware-Teils von dem. Herunterlade-Werkzeug an und fordert die Signatur des zweiten Firmware-Teils von der zweiten vertrauenswürdigen Quelle an. Die zweite vertrauenswürdige Quelle sendet die Signatur des zweiten Firmware-Teils an das Fahrzeug und das Fahrzeug validiert die Signatur des ersten Firmware-Teils unter Verwendung eines ersten öffentlichen Schlüssels und validiert die Signatur des zweiten Firmware-Teils unter Verwendung eines zweiten öffentlichen Schlüssels. Falls beide Teile validiert werden, führt das Fahrzeug die Firmware aus.
-
Weitere Merkmale der vorliegenden Erfindung werden aus der folgenden Beschreibung und den beigefügten Patentansprüchen in Verbindung mit den beigefügten Figuren deutlich.
-
KURZE BESCHREIBUNG DER FIGUREN
-
1 ist ein Blockdiagramm eines Systems, das den Betrieb eines Signaturverifizierverfahrens zeigt;
-
2 ist ein Flussdiagramm, das ein Verfahren zum Authentifizieren eines Firmware-Files, das auf ein Fahrzeug heruntergeladen werden soll, zeigt, wobei das Fahrzeug ein Telematiksystem wie zum Beispiel OnStarTM beinhaltet;
-
3 ist ein Flussdiagramm, das ein Verfahren zum Authentifizieren eines Firmware-Files, dass auf ein Fahrzeug heruntergeladen werden soll, zeigt, wobei das Fahrzeug nicht mit OnStarTM ausgestattet ist; und
-
4 ist ein Flussdiagramm, das ein Verfahren zum Authentifizieren eines Firmware-Files, das auf eine Fahrzeug-ECU heruntergeladen werden soll, nur unter Verwendung von OnStarTM zeigt.
-
DETAILLIERTE BESCHREIBUNG DER AUSFÜHRUNGSBEISPIELE
-
Die folgende Diskussion der Ausführungsformen der Erfindung, die auf ein System und ein Verfahren zum Authentifizieren eines Firmware-Files, das auf eine Fahrzeug-ECU heruntergeladen werden soll, durch Validieren der Firmware durch zwei separate vertrauenswürdige Quellen gerichtet ist, ist rein beispielhafter Natur und in keiner Weise dazu gedacht, die Erfindung oder ihre Anwendungen oder Verwendungen einzuschränken. Beispielsweise findet die vorliegende Erfindung eine besondere Anwendung beim Herunterladen von Firmware auf eine Fahrzeug-ECU. Wie Fachleute allerdings leicht erkennen können, kann das Verifizierverfahren eine Anwendung beim Herunterladen von Firmware und/oder Software auf andere Controller finden.
-
1 ist ein Blockdiagramm 10 eines bekannten Verfahrens zum Verwenden digitaler Signaturen mit einem asymmetrischen Schlüssel zum Authentifizieren von Files, die in Controller programmiert werden sollen. Wie von Fachleuten leicht verstanden werden kann, verwendet die asymmetrische Schlüsselkryptographie ein Paar von mathematisch miteinander in Beziehung stehenden Schlüsseln, welche als ein privater Schlüssel und als ein öffentlicher Schlüssel bekannt sind, um eine Nachricht zu verschlüsseln und zu entschlüsseln. Um eine digitale Signatur zu generieren, verwendet ein Signierer seinen privaten Schlüssel, welcher nur ihm selbst bekannt ist, um ein File zu verschlüsseln. Die digitale Signatur kann später von einem Dritten unter Verwendung des öffentlichen Schlüssels, der mit dem privaten Schlüssel des Signierers zum Authentifizieren eines Files oder einer Nachricht gepaart ist, entschlüsselt werden.
-
In einem Signierschritt 12 wird ein Inhalt-File 14 bereitgestellt, wobei das Inhalt-File 14 ein Stück Software, Firmware, ein Kalibrier-File oder ein anderer Inhalt, der auf einem Controller verwendet werden soll, sein kann. Eine Verschlüsselungs-Hash-Berechnung wird auf dem Inhalt-File 14 ausgeführt, um einen Hash-Wert oder Digest 16 zu generieren. Der Hash-Wert 16 wird dann mit dem privaten Schlüssel des Signierers verschlüsselt, um eine digitale Signatur 18 zu generieren, wobei die digitale Signatur 18 nur für das bestimmte Inhalt-File brauchbar ist.
-
Die digitale Signatur 18 und das Inhalts-File 14 werden dann in einem Verifizierschritt 20 verwendet, der von dem Bootloader in der ECU in der oben diskutierten Anwendung ausgeführt werden würde. Die digitale Signatur 18 wird unter Verwendung des öffentlichen Schlüssels des Signierers entschlüsselt, um einen entschlüsselten Hash-Wert 22 zu generieren. In der Zwischenzeit wird eine Hash-Berechnung auf dem mit den Inhalten des Files 14 programmierten Flash-Speicher von dem Verifizierer ausgeführt, um einen berechneten Hash-Wert 24 zu generieren. Im Kasten 26 wird der entschlüsselte Hash-Wert 22 mit dem berechneten Hash-Wert 24 verglichen. Falls der entschlüsselte Hash-Wert 22 mit dem berechneten Hash-Wert 24 übereinstimmt, dann wird eine Gültig-Bestimmung 28 ausgegeben und der mit dem Inhalt-File 14 programmierte Flash-Speicher wird verwendet. Falls der Hash-Wert 22 nicht mit dem berechneten Hash-Wert 24 übereinstimmt, dann wird eine Ungültig-Bestimmung 30 ausgegeben und der mit dem Inhalt-File 14 programmierte Flash-Speicher wird nicht verwendet.
-
Die vorliegende Erfindung schlägt eine Technik zum Verwenden asymmetrischer digitaler Schlüsselsignaturen der oben erwähnten Art zum Verifizieren, dass Firmware, die auf eine Fahrzeug-ECU heruntergeladen werden soll, authentisch ist, vor, wobei das Verfahren das Verifizieren, dass die Firmware authentisch ist, unter Verwendung zweier separater vertrauenswürdiger Quellen, wie zum Beispiel dem Fahrzeughersteller und OnStarTM, wobei jeder die Nachrichten unter Verwendung seiner eigenen privaten Schlüssel signiert, beinhaltet. Die Verbindungen zu dem Fahrzeug können telematische Verbindungen sein, wobei die zwei vertrauenswürdigen Quellen geographisch voneinander getrennte Server sein können, um es schwieriger zu gestalten, die privaten Schlüssel zu kompromittieren, welche zum Erzeugen der digitalen Signaturen verwendet werden.
-
2 ist ein Flussdiagramm 40, das ein Verfahren zum Verifizieren unter Verwendung zweier separater vertrauenswürdiger Quellen, dass Firmware, die auf eine Fahrzeug-ECU heruntergeladen werden soll, authentisch ist, zeigt. Für die unten geführte Diskussion ist die erste vertrauenswürdige Quelle der Fahrzeughersteller. Sie kann jedoch jede vertrauenswürdige Quelle sein, die das Firmware-File, das heruntergeladen werden soll, bereitstellt, beispielsweis ein Lieferant. Ferner ist, da dies eine von General Motors vorgenommene Patentanmeldung ist, die zweite vertrauenswürdige Quelle OnStarTM. Sie kann jedoch jede andere geeignete vertrauenswürdige Quelle, die von der ersten vertrauenswürdigen Quelle separat ist, sein. In der unten geführten Diskussion wird der Fahrzeughersteller einen privaten Schlüssel MPv und einen öffentlichen Schlüssel MPu haben. OnStarTM wird einen privaten Schlüssel ONPv und einen öffentlichen Schlüssel ONPu haben. Die Firmware ist definiert als FW und kann in zwei Teile, die als FW1 und FW2 definiert sind, gesplittet sein. Eine Hash-Funktion ist definiert als H() und eine Signatur einer Nachricht m unter Verwendung eines privaten Schlüssels p ist definiert als Sig(p, m).
-
In dem Diagramm 40 wird von dem Kasten 42 eine Datenfile-Ablage, in welcher die Firmware FW abgespeichert ist und/oder von der diese erhalten wird, zugewiesen. Die Ablage 42 kann jede geeignete Einrichtung, Server, Ort etc. sein, die dazu in der Lage ist Firmware von einem Fahrzeughersteller, Lieferanten etc. zu empfangen, die Firmware an einem sicheren Ort abzuspeichern und die Firmware in jeder geeigneten Weise, beispielsweise drahtlos, über das Internet, über Telefonleitungen etc. zu übersenden. Es wird angenommen, dass die Datenfile-Ablage 42 die Firmware FW sicher empfängt. Der Kasten 44 stellt eine OnStarTM-Einrichtung dar und ist jede geeignete Einrichtung, die in der Fachwelt bekannte OnStarTM-Operationen bereitstellt, welche in drahtloser Kommunikation mit einem Fahrzeug, welches mit dem Kasten 46 dargestellt ist, sein kann. Obwohl die OnStarTM-Einrichtung 44 als eine der vertrauenswürdigen Quellen in diesem Ausführungsbeispiel verwendet wird, kann von Fachleuten verstanden werden, dass dies als nichteinschränkendes Beispiel gedacht ist und jede geeignete vertrauenswürdige Quelle verwendet werden kann. Kasten 48 stellt ein Werkzeug dar, das verwendet wird, um die Firmware FW auf die ECU auf dem Fahrzeug 46 herunterzuladen. Das Werkzeug 48 kann jedes geeignete computerartige Gerät, das eine Service-Einrichtung, ein Hersteller etc. zur Ausübung dieser Operation verwenden würde, sein. Das Fahrzeug 46 und das Werkzeug 48 würden sich an demselben Ort befinden, wobei das Werkzeug 48 mit dem Fahrzeug 46 über einen Diagnoselinkconnector (DLC), welcher Fachleuten gut bekannt ist, verbunden werden würde.
-
Die Firmware FW wird in der Ablage 42 in erste und zweite Firmware-Teile FW1 und FW2 gesplittet. Die Datenfile-Ablage 42 wird eine Hash-Funktion verwenden, um den ersten Firmware-Teil FW1 zu hashen und dann den gehashten ersten Firmware-Teil FW1 unter Verwendung des privaten Schlüssels MPv des Herstellers zu verschlüsseln, um die Signatur Sig(MPv, H(FW1)) zu erzeugen. Ferner wird die Datenfile-Ablage 42 eine Hash-Funktion verwenden, um den zweiten Firmware-Teil FW2 zu hashen und den gehashten zweiten Firmware-Teil FW2 als eine Nachricht H(FW2) zu der OnStarTM-Einrichtung 44 auf der Leitung 50 zu senden. Der File-Transfer von der Ablage 42 zu der OnStarTM-Einrichtung 44 kann jede geeignete Verbindung, beispielsweise drahtlos oder über die Telefonleitungen, sein. Die OnStarTM-Einrichtung 44 wird den Hash des zweiten Firmware-Teils FW2 unter Verwendung des OnStarTM privaten Schlüssels ONPv signieren, um die Signatur Sig(ONPv, H(FW2)) zu erzeugen. Es wird angemerkt, dass die OnStarTM-Einrichtung 44 nicht die Firmware Files FW, FW1 oder FW2 hat. Es wird ferner angemerkt, dass die Datenfile-Ablage 42 den ersten Firmware-Teil FW1 hashen und signieren wird, den zweiten Firmware Teil FW2 hashen wird und den gehashten zweiten Firmware-Teil H(FW2) an die OnStarTM-Einrichtung 44 zeitnah zu der Zeit, an der die Ablage 42 den Firmware-Teil FW vom Hersteller oder Lieferanten empfängt und bevor die Firmware FW tatsächlich auf die Fahrzeug-ECU heruntergeladen werden muss, senden wird.
-
Die Datenfile-Ablage 42 liefert die Firmware FW und die Signatur Sig(MPv, H(FW1)) an das Werkzeug 48 auf der Leitung 52. Die Verbindung zwischen der Ablage 42 und dem Werkzeug 48 kann jede geeignete Verbindung für die hier diskutierten Zwecke sein, beispielsweise eine Telematikverbindung, eine Internetverbindung etc. Wenn das Werkzeug 48 mit dem Fahrzeug 46 durch den DLC für das Herunterladen der Firmware FW verbunden ist, lädt das Werkzeug 48 die Firmware FW und die Signatur Sig(MPV, H(FW1)), die sie empfangen und von der Datenfile-Ablage 42 auf der Leitung 54 abgespeichert hat, herunter. Die Ablage 42 kann die Firmware FW und den gehashten und signierten ersten Firmware-Teil FW1, der auf das Werkzeug 48 gespeichert werden soll, bereitstellen, bevor das Fahrzeug 46 anfordert, dass dieser heruntergeladen werden muss. Es kann wünschenswert sein, dass das Fahrzeug 46 ein Passwort, was mit dem Bezugszeichen 56 dargestellt wird, in die ECU eingeben muss, welches den ordnungsgemäßen Benutzer des Fahrzeugs 46 identifiziert, bevor mit dem Firmware-Herunterladen fortgefahren wird. Die Passworteingabe an das Werkzeug 48 kann ausgeführt werden, bevor die Firmware FW und die Signatur Sig(MPv, H(FW1)) auf das Fahrzeug 46 heruntergeladen werden.
-
Das Fahrzeug 46 fordert dann über die OnStarTM-Telematikverbindung die Signatur des zweiten Firmware-Teils FW2 auf der Leitung 58 an und die OnStarTM-Einrichtung 44 liefert die Signatur Sig(MPv, H(FW2)) an das Fahrzeug 46 auf der Leitung 60. Um die Firmware FW, die von dem Werkzeug 48 geliefert wird, zu akzeptieren, wird die ECU auf dem Fahrzeug 46 die Firmware FW durch Validieren der Signatur Sig(MPv, H(FW1)) unter Verwendung des öffentlichen Schlüssels MPu des Herstellers und durch Validieren der Signatur Sig(ONPv, H(FW2)) der OnStarTM-Einrichtung 44 unter Verwendung des öffentlichen Schlüssels ONPu von OnStarTM validieren. Falls beide Teile der Nachricht validiert werden, lässt die ECU es zu, dass die Firmware FW auf dem Fahrzeug 46 ausgeführt wird.
-
Obwohl bei der oben geführten Diskussion die Firmware FW in die zwei Teile FW1 und FW2 separiert wird, könnte dieses Erfordernis für Berechnungszwecke ziemlich komplex sein. In einer alternativen Ausführungsform wird die Firmware FW nicht separiert sondern das ganze Stück Firmware FW wird in der Datenfile-Ablage 42 gehasht, um an die OnStarTM-Einrichtung 44 gesendet zu werden. Das ganze Stück Firmware FW wird unter Verwendung des privaten Schlüssels MPv des Herstellers in der Datenfile-Ablage 42 signiert, um die Signatur Sig(MPv, H(FW)) zu erzeugen. Die OnStarTM-Einrichtung 44 wird den Hash des Firmware-Teils FW unter Verwendung des privaten Schlüssels ONPv von OnStarTM signieren, um die Signatur Sig(ONPv, H(FW)) zu erzeugen.
-
3 ist ein Flussdiagramm 70, das ein anderes Verfahren zum Validieren der Firmware FW, die auf eine Fahrzeug-ECU heruntergeladen werden soll, zeigt, die die gleichen Einrichtungen und Elemente aus dem Diagramm 40 aufweist, bei der das Fahrzeug 46 jedoch kein OnStarTM-Teilnehmer ist und demzufolge nicht in der Lage ist, Signaturen direkt von der OnStarTM-Einrichtung 44 zu empfangen. Die Datenfile-Ablage 42 hasht wie oben den zweiten Firmware-Teil FW2 und sendet diesen zu der OnStarTM-Einrichtung 44 auf der Leitung 50, wobei die OnStarTM-Einrichtung 44 den Hash-Wert unter Verwendung des privaten Schlüssels ONPv von OnStarTM signiert. Da die OnStarTM-Einrichtung 44 die Signatur des zweiten Firmware-Teils FW2 nicht an das Fahrzeug 46 senden kann, sendet die OnStarTM-Einrichtung 44 die Signatur des zweiten Firmware-Teils FW2 an die Datenfile-Ablage 42 auf der Leitung 72. Die Datenfile-Ablage 42 hat nun sowohl den signierten ersten Firmware-Teil Sig(MPv, H(FW1)) als auch den signierten zweiten Firmware-Teil Sig(ONPv, H(FW2)) von der OnStarTM-Einrichtung 44 und liefert diese Nachrichten und die Firmware FW auf Anfrage an das Werkzeug 48. Das Werkzeug 48 lädt dann die gesamte Firmware FW und Signaturen auf der DLC-Leitung 54 herunter, wobei die ECU in dem Fahrzeug 46 die zwei Signaturen separat unter Verwendung des öffentlichen Schlüssels MPu des Herstellers und des öffentlichen Schlüssels ONPu von OnStarTM validiert, um die Firmware FW zu validieren.
-
4 ist ein Flussdiagramm 80 ähnlich zu den Flussdiagrammen 40 und 50, wobei ähnliche Elemente und Einrichtungen mit den gleichen Bezugszeichen versehen sind. In dieser Ausführungsform wird das Werkzeug 48 nicht dazu verwendet, die Firmware FW auf das Fahrzeug 46 herunterzuladen, sondern die Firmware FW wird direkt von der OnStarTM-Einrichtung 44 heruntergeladen. Die Datenfile-Ablage 42 liefert die Firmware FW, den zweiten Firmware-Teil FW2 und den signierten ersten Firmware-Teil Sig(MPv, H(FW1)) an die OnStarTM-Einrichtung 44 über die Leitung 50. In dieser Ausführungsform hasht die Ablage 42 nicht den zweiten Firmware-Teil FW2 sondern liefert ihn mit dem gesamten Firmware-File FW. Die OnStarTM-Einrichtung 44 hasht zuerst und signiert dann den Hash des zweiten Firmware-Teils FW2 unter Verwendung des privaten Schlüssels ONPv von OnStarTM, um die Signatur Sig(ONPv, H(FW2)) zu berechnen. Falls die Firmware FW von der OnStarTM-Einrichtung 44 auf das Fahrzeug 46 heruntergeladen werden soll, werden die gesamte Firmware FW, die Signatur des ersten Firmware-Teils Sig(MPv, H(FW1)) und die Signatur des zweiten Firmware-Teils Sig(ONPv, H(FW2)) telematisch an das Fahrzeug 46 auf der Leitung 82 übersandt, welches jede Signatur separat validiert, um die Authentizität der Firmware FW zu verifizieren.
-
Wie von Fachleuten gut verstanden wird, können verschiedene oder einige Schritte und Verfahren, die hier erörtert wurden, um die Erfindung zu beschreiben, von einem Computer, einem Prozessor oder einer anderen elektronischen Recheneinheit ausgeführt werden, die mit Hilfe elektrischer Phänomene Daten manipuliert und/oder transformiert. Diese Computer und elektrischen Geräte können verschiedene flüchtige und/oder nicht flüchtige Speicher inklusive einem festen computerlesbaren Medium mit einem darauf befindlichen ausführbaren Programm beinhalten, das verschiedene Codes oder ausführbare Instruktionen beinhaltet, die von dem Computer oder Prozessor ausgeführt werden, wobei der Speicher und/oder das computerlesbare Medium alle Formen und Arten von einem Speicher und anderen computerlesbaren Medien beinhalten kann.
-
Die vorhergehende Diskussion zeigt und beschreibt rein exemplarische Ausführungsbeispiele der vorliegenden Erfindung. Ein Fachmann kann leicht aus der Diskussion an den beigefügten Figuren und Patentansprüchen erkennen, dass zahlreiche Änderungen, Modifikationen und Variationen gemacht werden können, ohne dabei den Geist und den Bereich der Erfindung zu verlassen, wie er mit den folgenden Patentansprüchen definiert ist.