AUE, Axel (Schillerstrasse 33, Korntal-Muenchingen, 70825, DE)
SZERWINSKI, Robert (Siegfried-Berger-Str. 36, Berlin, 12557, DE)
BUBECK, Oliver (Rechbergstr. 5, Pluederhausen, 73655, DE)
HAYEK, Jan (Solalindenstr. 57, Muenchen, 81827, DE)
SHOKROLLAHI, Jamshid (Draisstr. 11, Karlsruhe, 76135, DE)
IHLE, Markus (Reutlinger Str. 10, Jettenburg, 72127, DE)
AUE, Axel (Schillerstrasse 33, Korntal-Muenchingen, 70825, DE)
SZERWINSKI, Robert (Siegfried-Berger-Str. 36, Berlin, 12557, DE)
BUBECK, Oliver (Rechbergstr. 5, Pluederhausen, 73655, DE)
HAYEK, Jan (Solalindenstr. 57, Muenchen, 81827, DE)
SHOKROLLAHI, Jamshid (Draisstr. 11, Karlsruhe, 76135, DE)
| Ansprüche Speichermodul (230) zur gleichzeitigen Bereitstellung wenigstens eines sicheren (163) und wenigstens eines unsicheren (133) Speicherbereichs, wobei das Speichermodul (230) eine eigene Schreib-/Leseelektronikeinheit (132, 162) für jeden der Speicherbereiche (133, 163) und wenigstens einen gemeinsamen Analogschaltungsteil (234) für mehrere Schreib-/Lese- elektronikeinheiten (132, 162) und/oder mehrere Speicherbereiche (133, 163) umfasst. Speichermodul (230) nach Anspruch 1 , wobei das Speichermodul (230) genau einen Analogschaltungsteil (234) für alle Schreib-/Leseelektronik- einheiten (132, 162) und/oder alle Speicherbereiche (133, 163) umfasst. Speichermodul (230) nach Anspruch 1 oder 2, wobei der Analogschaltungsteil (234) eine Spannungsversorgungsschaltung zur Versorgung der Schreib- /Leseelektronikeinheiten (132, 162) und/oder Speicherbereiche (133, 163) umfasst. Speichermodul (230) nach einem der vorstehenden Ansprüche, wobei das Speichermodul (230) wenigstens eine gemeinsame Schnittstelleneinheit (231 ) zur Anbindung von wenigstens zwei Schreib-/Leseelektronikeinheiten (132, 162) umfasst. Speichermodul (230) nach Anspruch 4, wobei das Speichermodul (230) genau eine Schnittstelleneinheit (231 ) zur Anbindung aller Schreib-/Lese- elektronikeinheiten (132, 162) umfasst. 6. Speichermodul (230) nach einem der vorstehenden Ansprüche, wobei die Speicherbereiche (133, 163) als Flash-Speicherbereiche ausgebildet sind und der Analogschaltungsteil (234) eine Ladungspumpe und/oder eine Schreib-/Leseverstärkerbank umfasst. 7. Mikrocontroller (200) umfassend ein Speichermodul (230) nach einem der vorstehenden Ansprüche. 8. Mikrocontroller (200) nach Anspruch 7, umfassend wenigstens eine Haupt- CPU (1 10) sowie wenigstens eine sichere CPU (150), die jeweils mit dem Speichermodul (230) verbunden sind und auf dieses zum Schreiben und/oder Lesen von unsicheren bzw. sicheren Daten zugreifen. 9. Mikrocontroller (200) nach Anspruch 8, wobei die wenigstens eine Haupt- CPU (1 10) sowie die wenigstens eine sichere CPU (150) jeweils über eine mikrocontrollerinterne Busverbindung (120) mit der Schnittstelleneinheit (231 ) des Speichermoduls (230) verbunden sind. 10. Mikrocontroller (200) nach Anspruch 8 oder 9, wobei die wenigstens eine sichere CPU (150) zusätzlich über eine zusätzliche Identifikationsverbindung (240) mit dem Speichermodul (230) verbunden ist. 1 1 . Mikrocontroller (200) nach Anspruch 10, wobei die wenigstens eine sichere CPU (150) über die Identifikationsverbindung (240) mit der Schnittstelleneinheit (231 ) des Speichermoduls (230) verbunden ist. |
Speichermodul zur gleichzeitigen Bereitstellung wenigstens eines sicheren und wenigstens eines unsicheren Speicherbereichs
Die vorliegende Erfindung betrifft ein Speichermodul zur gleichzeitigen Bereitstellung wenigstens eines sicheren und wenigstens eines unsicheren Speicherbereichs sowie einen Mikrocontroller mit einem solchen Speichermodul.
Stand der Technik
Die vorliegende Erfindung betrifft das Gebiet von sog. sicheren Mikrocontrollern (secure microcontroller), insbesondere im Automotive-Bereich. Bei den meisten Anwendungen in sicherheitsrelevanten Bereichen ist das unmanipulierbare oder das nicht-einsehbare Abspeichern von Daten eine wesentliche Grundanforderung. Schlüssel für symmetrische Verfahren oder private Schlüssel von asymmetrischen Verfahren sind Geheimnisse und müssen somit vor Angreifern geheim gehalten werden. Andere Anwendungsfälle erfordern zumindest einen Schutz vor Veränderung, z.B. das Abspeichern von Seriennummern oder Kilometerständen, das Unterbinden von Chiptuning usw.
Es ist deshalb üblich, sichere Umgebungen für die Ausführung von Funktionen, die diese Geheimnisse einsehen und/oder verändern müssen, bereitzustellen. Diese Umgebungen umfassen in der Regel eine "secure CPU" (sichere CPU) sowie ein separates Speichermodul für das sichere nicht-flüchtige Speichern von Daten, auch als "Secure NVM" (NVM = Non Volatile Memory) bezeichnet, das nur über die "secure CPU" angesprochen werden kann. Es ist angedacht, zur Bereitstellung von sicheren Funktionen MikroController zu verwenden, die neben den üblichen Mikrocontroller-Komponenten, wie CPU, Speichermodule, Bus, I/O-Schnittstellen usw., auch eine sichere CPU sowie ein sicheres Speichermodul umfassen. Das Bereitstellen der sicheren Umgebung in einem Mikrocontroller ist jedoch relativ aufwändig, was insbesondere auf die
Technologie der heute üblicherweise verwendeten nicht-flüchtigen Speicher zurückzuführen ist. Das sichere Speichermodul ist normalerweise als Flash-Modul ausgebildet und umfasst - wie alle Flash-Speichermodule - die eigentlichen Speicherzellen (Transistoren), eine Schreib-/Leseelektronik zum Betreiben des Speichers (z.B. State Machine, Adresspuffer, Datenpuffer, Zeilendecoder, Spaltendecoder usw.), eine Schnittstelleneinheit zur Anbindung der Schreib-/Lese- elektronik an den internen Mikrocontroller-Bus sowie einen Analogschaltungsteil zur Spannungsversorgung und/oder -Verstärkung u.ä. Insbesondere dieser Analogschaltungsteil, der üblicherweise (z.B. Flash, EEPROM) eine Ladungspumpe (charge pump) und eine Verstärkerbank umfasst, benötigt sehr viel Chipfläche und führt zu maßgeblichen Kosten des Moduls.
Es ist deshalb wünschenswert, in sicheren MikroControllern möglichst nur ein Speichermodul zur Aufnahme sicherer sowie unsicherer Daten einsetzen zu müssen. Bei den im Stand der Technik eingesetzten Speichermodulen kann jedoch der auf einen solchen Speicher zugreifende Teilnehmer (üblicherweise eine CPU) den gesamten Datenbereich einsehen und modifizieren, so dass jeweils ein Speichermodul für sichere Daten und unsichere Daten eingesetzt wird. Offenbarung der Erfindung
Erfindungsgemäß wird ein Speichermodul mit den Merkmalen des Patentanspruchs 1 vorgeschlagen. Vorteilhafte Ausgestaltungen sind Gegenstand der Unteransprüche sowie der nachfolgenden Beschreibung.
Vorteile der Erfindung
Die Erfindung basiert auf der Idee, die gleichzeitige Bereitstellung von sicheren und nicht-sicheren bzw. unsicheren Speicherbereichen in einem Speichermodul besonders einfach zu machen, wenn dabei nur die für die Bereitstellung der Sicherheitsfunktionalität notwendigen Elemente mehrfach und alle anderen Elemente möglichst nur einfach ausgebildet werden. Insbesondere kann ein Speichermodul gleichzeitig sichere und unsichere Speicherbereiche bereitstellen, wenn für jeden Speicherbereich eine eigene Schreib-/Leseelektronikeinheit vorgesehen ist, wobei jedoch für alle Schreib-/Leseelektronikeinheiten nur ein Ana- logschaltungsteil, wie z.B. eine Spannungsversorgungsschaltung, in dem Speichermodul vorgesehen ist. Die Erfindung beschreibt ein erweitertes Speichermodul, das die gemeinsame Nutzung eines großen Speichers für mehrere Teilneh- mer ermöglicht. Es erlaubt den Teilnehmern, jeweils für sich exklusive Teile zu nutzen, wodurch die Sicherheit der geheimen und/oder unmanipulierbaren Daten gewährleistet bleibt. Vorteilhaft kann ein erfindungsgemäßes Speichermodul als ein einzelnes sog. Hard Macro auf dem Chip definiert werden.
Vorteilhafterweise wird nur eine Schnittstelleneinheit zur Anbindung der Schreib- /Leseelektronikeinheiten vorgesehen. Im Ergebnis werden somit mehrere Speicherbereiche mit eigenen Schreib-/Leseelektronikeinheiten in einem einzigen Speichermodul bereitgestellt, wobei jedoch besonders vorteilhaft auf überzählige Schnittstelleneinheiten verzichtet wird.
Gemäß einer vorteilhaften Ausgestaltung der Erfindung ist das Speichermodul als Flash-Speichermodul ausgebildet, wobei dann zur Versorgung der vorgesehenen Anzahl von Speicherbereichen und Schreib-/Leseeinheiten nur eine Ladungspumpe und/oder eine Verstärkerbank (Schreib-/Leseverstärker-Bank) vorgesehen ist. Insbesondere bei Flash-Speicher entfaltet die Erfindung besondere Vorteile, da hier die Spannungsversorgungsschaltung als Bestandteil des Ana- logschaltungsteils besonders aufwändig ist.
Weitere Vorteile und Ausgestaltungen der Erfindung ergeben sich aus der Be- Schreibung und der beiliegenden Zeichnung.
Es versteht sich, dass die vorstehend genannten und die nachfolgend noch zu erläuternden Merkmale nicht nur in der jeweils angegebenen Kombination, son- dem auch in anderen Kombinationen oder in Alleinstellung verwendbar sind, ohne den Rahmen der vorliegenden Erfindung zu verlassen.
Die Erfindung ist anhand eines Ausführungsbeispiels in der Zeichnung schematisch dargestellt und wird im Folgenden unter Bezugnahme auf die Zeichnung ausführlich beschrieben.
Kurze Beschreibung der Zeichnungen
Figur 1 zeigt schematisch den Aufbau eines sicheren Microcontrollers, der nicht vom Schutzbereich der Erfindung umfasst ist,
Figur 2 zeigt schematisch den Aufbau eines Microcontrollers umfassend ein Speichermodul gemäß einer bevorzugten Ausführungsform der Erfindung.
Ausführungsform(en) der Erfindung
In den Figuren 1 und 2 sind jeweils nur die für die Erfindung relevanten Komponenten eines Mikrocontrollers dargestellt, wobei gleiche Elemente mit gleichen Bezugszeichen versehen sind.
In Figur 1 ist ein sicherer Mikrocontroller schematisch dargestellt und insgesamt mit 100 bezeichnet. Der Mikrocontroller 100 umfasst eine Haupt-Recheneinheit bzw. Haupt-CPU 1 10, die an einem mikrocontrollerinternen Bus 120 angebunden ist. Mit dem Bus 120 steht ebenfalls ein erstes Speichermodul 130 in Verbindung, das zur nicht-sicheren Aufnahme von Daten vorgesehen ist.
In dem Mikrocontroller 100 wird weiterhin eine sichere Umgebung 140 durch eine sichere CPU 150 sowie ein sicheres Speichermodul 160 bereitgestellt. Zur Ausführung sicherer Funktionen wird die sichere CPU 150 über den Bus 120 angesprochen und greift dann, falls nötig, auf das sichere Speichermodul 160 zu.
Die Speichermodule 130 und 160 sind im Wesentlichen gleich aufgebaut und verfügen jeweils über eine Schnittstelleneinheit 131 bzw. 161 zur Anbindung des Speichermoduls an den mikrocontrollerinternen Bus 120, eine Schreib-/Lese- elektronikeinheit 132 bzw. 162 sowie die eigentlichen Speicherbereiche 133 bzw. 163. Die Speichermodule 130 und 160 umfassen zweckmäßigerweise Flash- Speicher, so dass die Speicherbereiche 133 und 163 eine Anzahl von Floating- Gate-Transistoren als Speicherzellen umfassen. Weiterhin umfassen die Speichermodule 130 und 160 jeweils einen Analogschaltungsteil 134 bzw. 164, die im beschriebenen Beispiel eines Flash-Speichers zumindest eine Spannungsver- sorgungsschaltung mit einer Ladungspumpe sowie eine Schreib- /Leseverstärkerbank umfassen. Die Schreib-/Leseelektronikeinheiten 132 und 162 umfassen jeweils z.B. eine State Machine, Adresspuffer, Datenpuffer, Zeilendecoder, Spaltendecoder usw. Die Speichermodule 130 und 160 sind separate Module und somit jeweils als ein eigenes Hard Macro auf der Chipfläche definiert.
In Figur 2 ist ein Mikrocontroller 200 gemäß einer bevorzugten Ausführungsform der Erfindung schematisch dargestellt. Der Mikrocontroller 200 umfasst ebenfalls eine Anzahl von Komponenten, von denen wiederum nur die für die Erfindung relevanten abgebildet sind. Dabei sind Komponenten, die bereits in Figur 1 gezeigt sind, mit gleichen Bezugszeichen versehen.
Der Mikrocontroller 200 umfasst ein Speichermodul 230 gemäß einer bevorzugten Ausführungsform der Erfindung. Das Speichermodul 230 ist zur gleichzeitigen Bereitstellung eines unsicheren Speicherbereichs 133 sowie eines sicheren Speicherbereichs 163 ausgebildet. Die Speicherbereiche 133 und 163 sind jeweils mit einer zugehörigen Schreib-/Leseelektronikeinheit 132 bzw. 162 versehen. Die Schreib-/Leseelektronikeinheiten 132 und 162 umfassen jeweils z.B. eine State Machine, Adresspuffer, Datenpuffer, Zeilendecoder, Spaltendecoder usw., d.h. im Wesentlich die Elemente, die zum Bereitstellen sicher getrennter Speicherbereiche notwendig sind.
Vorteilhafterweise verfügt das Speichermodul 230 jedoch nur über einen einzigen Analogschaltungsteil 234, der im Falle von Flash-Speicher insbesondere eine Spannungsversorgungsschaltung mit Ladungspumpe und/oder eine Schreib- /Leseverstärkerbank umfasst, und der zur Versorgung aller Elemente des Speichermoduls 230 dient.
Gemäß der dargestellten bevorzugten Ausführungsform werden die Schreib- /Leseelektronikeinheiten 132 und 162 über eine einzige Schnittstelleneinheit 231 nach außen angebunden, im vorliegenden Fall an den mikrocontrollerinternen Bus 120.
Vorteilhafterweise kann das Speichermodul 230 zur gleichzeitigen Bereitstellung von sicheren und unsicheren bzw. nicht-sicheren Speicherbereichen als ein Hard Macro auf der Chipfläche definiert werden.
Gemäß der hier dargestellten Ausführungsform der Erfindung ist die sichere CPU 150 über eine Identifikationsverbindung 240 mit dem sicheren Speichermodul 230 bzw. dessen Schnittstelleneinheit 231 verbunden. Durch Hinzufügen einer entsprechenden Schaltungslogik in die Schnittstelleneinheit 231 kann der Zugriff von Teilnehmern auf die unterschiedlichen Speicherbereiche 133 und 163 eingeschränkt werden, wenn der den Zugriff ausübende Teilnehmer eindeutig identifizierbar ist. Die eindeutige Identifikation kann beispielsweise durch die Identifikationsverbindung 240 erfolgen. Die Identifikation kann jedoch auch über den Bus 120 stattfinden, wozu beispielsweise bekannte Signale, wie z.B. ein Master- Interface-Identifier, verwendet werden kann.
Obwohl im vorliegenden Beispiel nur zwei Teilnehmer, d.h. die CPUs 1 10 und 150, auf nur zwei Speicherbereiche, d.h. die Speicherbereiche 133 und 163, in dem sicheren Speichermodul 230 zugreifen, ist die Erfindung nicht auf diese Ausführungsform beschränkt. Vielmehr sind unabhängig voneinander beliebig viele Teilnehmer und beliebig viele Speicherbereiche bereitstellbar.
Next Patent: LABEL PRINTER
