-
Die vorliegende Erfindung betrifft eine Vorrichtung zum Protokollieren einer Konfiguration eines Mikroprozessorsystems sowie ein Verfahren zum Protokollieren einer Konfiguration eines Mikroprozessorsystems.
-
Mikroprozessorsysteme sind Systeme, bei denen alle Bauteile eines Prozessors auf einem Mikrochip vereint sind. Es kann sich dabei auch um einen Mikrocontroller oder um ein so genanntes System an Chip (SoC) handeln. Mikroprozessorsysteme treten im Alltag oft in Form von eingebetteten Systemen in Artikeln wie Chipkarten, in der Unterhaltungselektronik, Büroelektronik, Kraftfahrzeugen, Mobiltelefonen und sogar in Uhren auf. Darüber hinaus sind sie praktisch in allen Computerperipheriegeräten enthalten. Mikroprozessorsysteme sind in Leistung und Ausstattung ihrem jeweiligen Anwendungszweck angepasst.
-
Bekannt ist eine Vielzahl von Mikroprozessorsystemen, welche sich bei weitgehend gleicher Bauart in ihrer Registerbreite und Taktfrequenz sowie beispielsweise bei einer Ausgestaltung als Mikrocontroller auch in ihrer Speichergröße und in ihren Systemeigenschaften unterscheiden. Firmen, welche Mikroprozessorsysteme für den Einbau in ihre Geräte verwenden, müssen oftmals eine Vielzahl von verschiedenen Mikroprozessorsystemen mit unterschiedlichen Systemparametern vorrätig haben, um auf die Wünsche ihrer Kunden schnell und flexibel reagieren zu können. Die Lagerung und Bereitstellung einer Vielzahl von Mikroprozessorsystemen erfordert einen nicht unerheblichen Lager- und Logistikaufwand. Außerdem ist Kapital durch die notwendige Lagerung einer Vielzahl von verschiedenen Mikroprozessorsystemen gebunden.
-
Zur Verminderung des Lager- und Logistikaufwands sowie der damit in Zusammenhang stehenden Kosten sind aus der
US 5,530,753 eine Vorrichtung und ein Verfahren für die sichere Konfiguration eines generischen, d. h. eines mit Maximalkonfiguration ausgelieferten, Computersystems bekannt. Der Kunde kann, ausgehend von der Maximalkonfiguration, die von ihm gewünschten Systemeigenschaften und Speichergrößen auswählen und mittels eines Freischaltcodes freigeben lassen. Der Kunde bezahlt nur für die Systemeigenschaften und Speichergrößen welche er ausgewählt und in Anspruch genommen hat. Die nicht ausgewählten Systemeigenschaften und Speicherbereiche sind gesperrt und damit für den Kunden nicht zugänglich.
-
Liefert nun beispielsweise ein Halbleiterhersteller eine größere Stückzahl von generischen Mikroprozessorsystemen mit elektronisch freischaltbaren Speichergrößen und/oder freischaltbaren Systembausteinen an einen Kunden, so dass dieser die Mikroprozessorsysteme nach der Maßgabe der Endkunden entsprechend konfigurieren kann, so müsste der Kunde für jedes zu konfigurierende Mikroprozessorsystem vom Halbleiterhersteller den entsprechenden Freischaltcode zeitnah abrufen. Das hätte den Nachteil, dass der Halbleiterhersteller gezwungen ist eine Vielzahl von Freischaltcodes rund um die Uhr bereitzustellen, um eine konfigurationsabhängige Abrechnung zu ermöglichen. Auf der anderen Seite müsste der Kunde die notwendigen Freischaltcodes rechtzeitig abrufen und in sein Fertigungssystem einpflegen. Das Bereitstellen und Abrufen einer großen Anzahl von Freischaltcodes für konfigurierbare Mikroprozessorsysteme bringt daher einen großen Logistikaufwand und damit hohe Kosten sowohl beim Halbleiterhersteller als auch beim Kunden mit sich.
-
Der Erfindung liegt die Aufgabe zugrunde, eine Vorrichtung und ein Verfahren zur sicheren Protokollierung einer Konfiguration eines Mikroprozessorsystems bereitzustellen. Die Erfindung löst die Aufgabe mittels einer Vorrichtung mit den Merkmalen des Patentanspruches 1 beziehungsweise mittels eines Verfahrens mit den Merkmalen des Patentanspruches 13. Vorteilhafte Ausgestaltungen der Erfindung sind in den Unteransprüchen angegeben.
-
Durch die Verwendung einer Vorrichtung, welche eine Protokollierungsvorrichtung mit einem Sicherheitsbaustein aufweist, kann ein manipulationssicheres Protokoll erstellt werden. Durch die Erstellung eines manipulationssicheren Protokolls ist beispielsweise der Halbleiterhersteller in der Lage gesicherte Informationen über die vom Kunden gewählten Konfigurationen seiner Mikroprozessorsysteme zu erhalten, auf deren Basis er eine Abrechnung vornehmen kann.
-
Überlässt der Halbleiterhersteller die Protokollierung der durchgeführten Konfigurationen der Mikroprozessorsysteme ganz dem Kunden, so setzt er sich der Gefahr von Manipulationen seitens des Kunden aus. Es ist für den Halbleiterhersteller schlecht oder gar nicht nachvollziehbar, welche Konfigurationsparameter und damit welche Speichergrößen und/oder Systembausteine, auf denen letztendlich die Abrechnung basiert, ausgewählt worden sind. Eine derartige Manipulationsmöglichkeit wird mit dem oben beschriebenen Konzept vermieden.
-
Bei dem Sicherheitsbaustein kann es sich beispielsweise um einen Verschlüsselungsbaustein, ein so genanntes Kryptomodul, handeln.
-
Die Protokollierungsvorrichtung ist mit einer Konfigurationsvorrichtung koppelbar, um ein Konfigurationsparameter zwischen der Konfigurationsvorrichtung und der Protokollierungsvorrichtung übertragen zu können. Dies kann mittels einer nicht-permanente Kopplung, die lediglich zeitweise die Kopplung zwischen der Protokollierungsvorrichtung und der Konfigurationsvorrichtung durchführt, oder mittels einer permanente Kopplung zwischen der Protokollierungsvorrichtung und der Konfigurationsvorrichtung erfolgen, beispielsweise in Form eines Datenkabels.
-
Bei der Protokollierungsvorrichtung könnte es sich beispielsweise um einen Sicherheitscontroller handeln. Ein Sicherheitscontroller umfasst bereits einen Sicherheitsbaustein. Der Sicherheitsbaustein könnte in einem Ausführungsbeispiel in Form eines Kryptomoduls ausgebildet sein. Der Sicherheitsbaustein sorgt beispielsweise für eine Verschlüsselung der von der Protokollierungsvorrichtung erzeugten Daten und für den dafür notwendigen Schlüsselaustausch mit beispielsweise der Konfigurierungsvorrichtung und/oder einer externen Datenleitung und/oder einem externen Datenspeicher. Es kann somit eine sichere und nicht manipulierbare Protokollierung der verwendeten Konfigurationsparameter sichergestellt werden.
-
In einem weiteren Ausführungsbeispiel ist die Protokollierungsvorrichtung über einen sicheren Datenkanal mit der Konfigurierungsvorrichtung verbunden. Der Datenkanal kann zu diesem Zweck Sensoren, welche eine Manipulation detektieren, oder einen speziellen Aufbau mit geschirmten Leitungen aufweisen. Zur Erhöhung der Sicherheit können die über den Datenkanal übermittelten Daten, beispielsweise über ein Kryptomodul, verschlüsselt werden.
-
In einem weiteren Ausführungsbeispiel der erfindungsgemäßen Vorrichtung wird das Mikroprozessorsystem nach der Konfiguration geblockt, das Blocken kann beispielsweise mit dem Durchbrennen von Sicherungen innerhalb des Mikroprozessorsystems umgesetzt werden. Durch das Blocken wird verhindert, dass die Konfiguration des Mikroprozessorsystems nachträglich verändert werden kann.
-
Zum sicheren Speichern der protokollierten Daten kann die Protokollierungsvorrichtung einen sicheren Datenspeicher aufweisen. In dem sicheren Datenspeicher können die Protokolldaten beispielsweise verschlüsselt abgelegt werden. Die Verschlüsselung kann durch den vorhandenen Sicherheitsbaustein erfolgen. Der Datenspeicher kann auch mit entsprechenden Sensoren oder Aufbau gegen eine Manipulation von außen abgesichert werden. Ein Auslesen des Datenspeichers erfolgt beispielsweise über eine geeignete Schnittstelle kontaktlos oder über eine Leitung kontaktbehaftet.
-
In einem weiteren Ausführungsbeispiel der erfindungsgemäßen Vorrichtung ist die Protokollierungsvorrichtung mit einer Datenkommunikationsvorrichtung verbunden. Die Datenkommunikationsvorrichtung sorgt für eine Weiterleitung der Protokolldaten an beispielsweise den Halbleiterhersteller. Die Datenkommunikation kann drahtgebunden, drahtlos oder sowohl drahtgebunden als auch drahtlos erfolgen und beispielsweise über eine Internet- und/oder Telefonverbindung erfolgen. In einer besonderen Ausführungsform weist die Datenkommunikationsvorrichtung zusätzlich einen Datenspeicher zur Zwischenspeicherung der Protokolldaten auf.
-
In einem weiteren Ausführungsbeispiel der erfindungsgemäßen Vorrichtung ist die Protokollierungsvorrichtung so ausgebildet, dass sie einen Freischaltcode mit mindestens einem Konfigurationsparameter erzeugt. Konfigurationsparameter sind beispielsweise selektierbare Speichergrößen, zuschaltbare Module, wie beispielsweise Krypto-, Interface- und/oder Sicherheitsmodule, zuschaltbare Prozessoren, wie beispielsweise Co-Prozessoren und/oder Kryptoprozessoren, zuschaltbare Systembausteine oder zuschaltbare Softwareblöcke und/oder Softwarebibliotheken. Gemäß des oder der gewünschten Konfigurationsparameter wird von der Protokollierungsvorrichtung ein Freischaltcode generiert. Durch den konfigurationsabhängigen Freischaltcode, welcher an die Konfigurationsvorrichtung übermittelt wird, weiß die Konfigurationsvorrichtung, wie sie das Mikroprozessorsystem zu konfigurieren hat. Zum Schutz gegen Manipulation kann der Freischaltcode kryptographisch gegen Manipulationen abgesichert werden. Die kryptographische Absicherung kann beispielsweise durch Verschlüsselung des Freischaltcodes durch den Sicherheitsbaustein der Protokollierungsvorrichtung erfolgen. In einem ersten Ausführungsbeispiel wird für jedes zu konfigurierende Mikroprozessorsystem ein individueller Freischaltcode generiert. In einem weiteren Ausführungsbeispiel wird ein Freischaltcode für eine Gruppe von Mikroprozessorsystemen generiert. Die mittels der Freischaltcodes durchgeführten Konfigurationen der Mikroprozessorsysteme werden in der Protokollierungsvorrichtung protokolliert.
-
In einem weiteren Ausführungsbeispiel findet eine sichere Kommunikation zwischen der Protokollierungsvorrichtung und der Konfigurationsvorrichtung über einen sicheren Kommunikationskanal statt. Beispielsweise überträgt die Konfigurationsvorrichtung die Konfigurationsdaten einer durchgeführten Konfiguration des Mikroprozessorsystems an die Protokollierungsvorrichtung. Die Eingabe der Konfigurationsdaten kann direkt an der Konfigurationsvorrichtung erfolgen. Nach durchgeführter Konfiguration kann ein Blocken des Mikroprozessorsystems erfolgen. Der sichere Kommunikationskanal kann gegen Manipulationen kryptographisch abgesichert sein. Zur kryptographischen Absicherung kann der in der Protokollierungsvorrichtung vorhandene Sicherheitsbaustein verwendet werden.
-
In einem weiteren Ausführungsbeispiel wird die erfindungsgemäße Vorrichtung direkt in ein Mikroprozessorsystem integriert. Die Protokollierungsvorrichtung und die Konfigurationsvorrichtung sind dann beide Bestandteil des Mikroprozessorsystems.
-
Das Verfahren zum sicheren Protokollieren einer Konfiguration eines konfigurierbaren Mikroprozessorsystems weist ein Koppeln des Mikroprozessorsystems mit einer Konfigurationsvorrichtung, eine sichere Protokollierung eines Konfigurationsparameters, und ein Konfigurieren des Mikroprozessorsystems gemäß dem Konfigurationsparameter auf.
-
Durch das sichere Protokollieren der Konfiguration eines Mikroprozessorsystems, wird sichergestellt, dass beispielsweise ein Halbleiterhersteller ein sicheres Protokoll über die von seinem Kunden, dem Kunden, verwendeten Konfigurationen der von ihm gelieferten konfigurierbaren Mikroprozessorsysteme erhält. Basierend auf dem sicheren Protokoll kann dann der Halbleiterhersteller eine Abrechnung über die konfigurierten Mikroprozessorsysteme gegenüber dem Kunden vornehmen.
-
Nach erfolgter Konfiguration des Mikroprozessorsystems kann dieses beispielsweise durch einen Blockierbefehl gesperrt werden, so dass eine nachträgliche Änderung der Konfiguration nicht mehr möglich ist.
-
Das oder die verwendeten Konfigurationsparameter, wie beispielsweise selektierbare Speichergrößen, zuschaltbare Module, wie beispielsweise Krypto-, Interface- und/oder Sicherheitsmodule, zuschaltbare Prozessoren, wie beispielsweise Co-Prozessoren und/oder Kryptoprozessoren, zuschaltbare Systembausteine oder zuschaltbare Softwareblöcke und/oder Softwarebibliotheken, können beispielsweise auf einem sicheren Datenträger gespeichert werden.
-
In einem weiteren Ausführungsbeispiel ist es auch möglich, das Konfigurationsparameter direkt oder nach Zwischenspeicherung in einem sicheren Datenspeicher an eine Datenkommunikationsvorrichtung weiterzugeben.
-
In einem weiteren Ausführungsbeispiel des erfindungsgemäßen Verfahrens wird ein Freischaltcode von der Protokollierungsvorrichtung generiert, wobei der Freischaltcode mindestens ein Konfigurationsparameter enthält. Die Konfigurationsvorrichtung konfiguriert dann das Mikroprozessorsystem gemäß dem Freischaltcode. Der Freischaltcode kann kryptographisch gegen Manipulationen abgesichert werden. Ein Mikroprozessorsystem kann unter Verwendung eines individuell zugeordneten Freischaltcodes konfiguriert werden. In einem weiteren Ausführungsbeispiel kann eine ganze Gruppe von Mikroprozessorsystemen mit nur einem zugeordneten Freischaltcode konfiguriert werden.
-
In einem weiteren Ausführungsbeispiel des erfindungsgemäßen Verfahrens überträgt die Konfigurationsvorrichtung den Konfigurationsparameter über einen sicheren Kommunikationskanal an die Protokollierungsvorrichtung. Auch in diesem Ausführungsbeispiel kann der Kommunikationskanal kryptographisch gegen Manipulationen abgesichert werden.
-
Nachfolgend werden bevorzugte Ausführungsbeispiele der erfindungsgemäßen Vorrichtung anhand der Figuren näher erläutert. Es zeigen:
-
1 eine schematische Darstellung eines ersten Ausführungsbeispiels; und
-
2 eine schematische Darstellung eines zweiten Ausführungsbeispiels.
-
1 zeigt eine schematische Darstellung eines ersten Ausführungsbeispiels der erfindungsgemäßen Vorrichtung zum sicheren Protokollieren einer an einem Mikroprozessorsystem durchgeführten Konfiguration. Die erfindungsgemäße Vorrichtung 100 weist eine Protokollierungsvorrichtung 20 mit einem Sicherheitsbaustein 25 zur Erstellung eines manipulationssicheren Protokolls 30 auf. Eine Konfigurationsvorrichtung 50 ist mit der Protokollierungsvorrichtung 20 verbunden. Über ein Eingabeterminal 10 kann die Konfiguration eines Mikroprozessorsystems oder einer Gruppe von Mikroprozessorsystemen an die Protokollierungsvorrichtung 20 übermittelt werden. Die Übermittlung der Konfigurationsdaten von dem Eingabeterminal 10 zu der Protokollierungsvorrichtung 20 kann dabei über ein normales Datenkabel oder kontaktlos, beispielsweise durch Bluetooth, erfolgen. Es versteht sich, dass auch andere Möglichkeiten einer Übermittlung von Konfigurationsdaten zu der Protokollierungsvorrichtung möglich sind. Beispielsweise können Konfigurationen auf einem Datenträger, wie beispielsweise einem Flashspeicher, gespeichert sein und von dem Datenträger zu der Protokollierungsvorrichtung übertragen werden.
-
Basierend auf der gewünschten Konfiguration des Mikroprozessorsystems 40 generiert die Protokollierungsvorrichtung 20 einen Freischaltcode 70. Mit Hilfe des Sicherheitsbausteines 25, welcher Teil der Protokollierungsvorrichtung 20 sein kann, kann der Freischaltcode 70 manipulationssicher erzeugt werden. Ist der Sicherheitsbaustein 25 beispielsweise ein Kryptomodul, kann der Freischaltcode 70 kryptographisch verschlüsselt werden. Das Mikroprozessorsystem 40 oder die Konfigurationsvorrichtung 50 kann dann mittels eines hinterlegten Schlüssels, der in der Konfigurationsvorrichtung 50 gespeichert sein kann, den Freischaltcode entschlüsseln und die gewählte Konfiguration veranlassen.
-
Zum Zwecke der Konfiguration ist das Mikroprozessorsystem 40 mit der Konfigurationsvorrichtung 50 koppelbar, d. h. es kann entweder eine permanente Kopplung oder eine nicht-permanente Kopplung zwischen denselben bestehen. Die Kopplung kann kontaktlos oder kontaktbehaftet sein.
-
Erhält die Konfigurationsvorrichtung 50 den Freischaltcode 70 direkt von der Protokollierungsvorrichtung 20, so führt sie gemäß der im Freischaltcode 70 hinterlegten Konfigurationsparameter die Konfiguration des Mikroprozessorsystems 40 durch. Die Protokollierungsvorrichtung 20 protokolliert in einem sicheren Protokoll 30 die durchgeführte Konfiguration des Mikroprozessorsystems 40. Das Protokoll 30 muss gegen Manipulationen von außen entsprechend gesichert sein. Die Absicherung des Protokolls 30 kann beispielsweise auch mittels des Sicherheitsbausteins 25 durch eine Verschlüsselung erfolgen.
-
Basierend auf den in dem Protokoll 30 protokollierten Konfigurationsdaten kann beispielsweise eine Abrechnung zwischen einem Halbleiterhersteller, welcher die konfigurierbaren Mikroprozessorsysteme 40 geliefert hat, und seinem Kunden, welcher die Konfiguration durchgeführt hat, erfolgen. Das konfigurierte Mikroprozessorsystem 40 enthält das oder die vom Kunden gewünschten Konfigurationsparameter wie beispielsweise eine bestimmte Speichergröße und/oder zugeschaltete Systembausteine.
-
2 zeigt eine schematische Darstellung eines zweiten Ausführungsbeispiels der erfindungsgemäßen Vorrichtung. Im Gegensatz zu dem in der 1 beschriebenen Aufbau ist hier das Eingabeterminal 10 direkt mit der Konfigurationsvorrichtung 50 verbunden. Des Weiteren kommuniziert die Konfigurationsvorrichtung 50 über einen sicheren Kommunikationskanal 60 mit der Protokollierungsvorrichtung 20. In dem Eingabeterminal 10 wird von dem Kunden die gewünschte Konfiguration des Mikroprozessorsystems 40 eingegeben.
-
Das Mikroprozessorsystem 40 ist konfigurierbar und kann dem Kunden, je nach Abrechnungsmodel, entweder in einer Maximalkonfiguration oder in einer Minimalkonfiguration zur Verfügung gestellt werden. Bei Bereitstellung in der Maximalkonfiguration kann der Kunde durch das sichere Protokoll 30 nachweisen, dass er das Mikroprozessorsystem 40 mit einer kleineren und damit für ihn kostengünstigeren Konfiguration konfiguriert hat. Bei Bereitstellung in der Minimalkonfiguration kann beispielsweise der Lieferant des konfigurierbaren Mikroprozessorsystems 40, beispielsweise der Halbleiterhersteller, durch das sichere Protokoll 30 nachweisen, dass zusätzliche, eventuell kostenpflichtige Konfigurationsparameter verwendet worden sind. Mit anderen Worten gesagt, sperrt der Kunde bei einer Maximalkonfiguration nicht benötigte System- und/oder Speicherbausteine während der Kunde bei der Minimalkonfiguration benötigte System- und/oder Speicherbausteine frei schaltet. Der Kunde bestimmt anhand seiner Anforderungen, wie er das Mikroprozessorsystem 40 konfiguriert. Beispielsweise können bestimmte Speichergrößen und/oder verschiedene Systembausteine des Mikroprozessorsystems 40 verwendet werden. Die Konfiguration eines generischen Mikroprozessorsystems 40 erspart dem Kunden die Lagerhaltung einer Vielzahl von ähnlichen Mikroprozessorsystemen 40.
-
Eine Abrechnung erfolgt basierend auf den durchgeführten Konfigurationen, beispielsweise mit dem Hersteller der Mikroprozessorsysteme 40, d. h. beispielsweise dem Halbleiterhersteller. Die Konfigurationsvorrichtung 50 übermittelt zu diesem Zweck die durchgeführte Konfiguration eines jeden Mikroprozessorsystems 40 und/oder einer Gruppe von Mikroprozessorsystemen 40 über einen sicheren Kommunikationskanal 60 an die Protokollierungsvorrichtung 20.
-
Die Protokollierungsvorrichtung 20 umfasst einen Sicherheitsbaustein 25, welcher zum Absichern der Kommunikation verwendet werden kann. Bei dem Sicherheitsbaustein 25 kann es sich beispielsweise um ein Kryptomodul handeln. Die Protokollierungsvorrichtung 20 generiert ein sicheres Protokoll 30, auf dessen Basis später die Abrechnung über die durchgeführten Konfigurationen erfolgen kann. Das konfigurierte Mikroprozessorsystem 40 kann geblockt werden, um eine nachträgliche Änderung der Konfiguration zu verhindern.
-
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 Patentliteratur
-