-
Die
vorliegende Erfindung betrifft ein System und ein Verfahren zum
Schützen
eines Sicherheitsbereichs eines Systems.
-
Da
die Nutzung tragbarer Geräte,
wie Mobiltelefone, PDAs (Personal Digital Assistants) oder PMPs
(Portable Multimedia Players – tragbare
Multimedia-Abspielgeräte)
zugenommen hat, sind Sendetechnologien eingeführt worden, welche ein Empfangen
verschiedener Multimediainhalte während einer Bewegung ermöglichen,
beispielsweise DMB (Digital Multimedia Broadcasting), DVB-H (Digital
Video Broadcasting – Handheld)
oder Medienfluss (Media Flow).
-
Um
jedoch nicht autorisierten und ungesetzlichen Zugriff zu verhindern,
während
ein Zugriff durch einen rechtmäßigen Benutzer
erlaubt bleiben soll, kann ein Gerät oder eine Vorrichtung zum
Schützen
des gesamten Systems einschließlich
Hardware oder Software nützlich
sein. Zu diesem Zweck unterstützen
die meisten tragbaren Geräte,
welche in der Lage sind, mobile Sendungen zu empfangen, DRM (Digital
Rights Management – digitales
Rechtemanagement). Um die Kernanforderungen des DRM zu berücksichtigen,
sollte der Sicherheitsbereich (das heißt der Sicherheitsteil) eines
Systems gegen nichtautorisierten Zugriff geschützt sein.
-
Ein
Ansatz zum Schutz eines Sicherheitsbereichs umfasst die Verwendung
eines ARM 1176-Kerns, welcher „Trustzone" unterstützt. Wenn man
jedoch die Zeit und die Kosten berücksichtigt, welche für die Entwicklung
von Hardware benötigt werden,
besteht Bedarf an einem System, welches das DRM unter Verwendung
einer MCU (Micro Controller Unit – Mikrosteuereinheit) erfüllt, welche
die TrustZone nicht unterstützt.
Insbesondere besteht Bedarf daran, den Sicherheitsbereich gegen
einen nicht autorisierten Zugriff in einem System zu schützen, welches
einen dualen Kern (Dual Core) aus der MCU und einem DSP (digitaler
Signalprozessor) verwendet.
-
In
einem solchen Dual-Core-System kann die MCU durch eine gemeinsam
genutzte Adresse für
eine Datenkommunikation mit dem DSP auf einen internen Speicher
zugreifen. Da die MCU auf dieselbe Adresse zugreifen kann, auf welche
auch der DSP zugreift, können
die Informationen des DSP aufgrund eines Hackerangriffs nach außen gelangen
oder verändert
werden, wenn die MCU durch einen Hacker angegriffen wird.
-
Der
Erfindung liegt das technische Problem zugrunde, ein System und
ein Verfahren zum Schützen
eines Sicherheitsbereichs eines Systems anzugeben, welche einen
Sicherheitsbereich in sicherer Weise gegen einen nicht autorisierten
Speicherzugriff schützen.
-
Die
Erfindung löst
das Problem mittels eines Systems mit den Merkmalen des Patentanspruchs
1 oder des Patentanspruchs 10 und mittels eines Verfahrens zum Schützen eines
Sicherheitsbereichs eines Systems mit den Merkmalen des Patentanspruchs
16.
-
Vorteilhafte
Ausgestaltungen der Erfindung sind in den Unteransprüchen angegeben,
deren Wortlaut hiermit durch Bezugnahme in die Beschreibung aufgenommen
wird, um unnötige
Textwiederholungen zu vermeiden.
-
Vorteilhafte
Ausgestaltungen der Erfindung, die nachfolgend detailliert beschrieben
sind, sowie zur Erleichterung des Verständnisses der Erfindung erläuterte Ausgestaltungen
des Standes der Technik sind in den Zeichnungen dargestellt. Es
zeigt/zeigen:
-
1 ein
Blockdiagramm eines Systems zum Schützen eines Sicherheitsbereichs
gegen einen nicht autorisierten Speicherzugriff in einigen Ausgestaltungen
gemäß der Erfindung;
-
2 ein
Blockschaltbild zur Darstellung von Sicherheitsbereicheinstellregistern
in einigen Ausgestaltungen gemäß der Erfindung;
-
3 eine
schematische Darstellung eines abgebildeten Speichers, welche Sicherheitsbereiche darstellt,
die basierend auf Informationen eingestellt wurden, die in der Sicherheitsbereichseinstellregistereinheit
in 2 gemäß einigen
Ausgestaltungen der Erfindung programmiert sind; und
-
4 ein
Flussdiagramm zur Darstellung von Verfahren zum Schützen von
Sicherheitsbereichen eines Systems in einigen Ausgestaltungen gemäß der Erfindung.
-
Es
sei darauf hingewiesen, dass ein Element, welches als mit einem
anderen Element „verbunden" oder „gekoppelt" beschrieben ist,
entweder direkt mit dem anderen Element verbunden oder gekoppelt
sein kann, oder dass Zwischenelemente vorhanden sein können. Wenn
dagegen ein Element als mit einem anderen Element „direkt
verbunden" oder „di rekt
gekoppelt" beschrieben
ist, sind keine Zwischenelemente vorhanden.
-
Wie
der Fachmann weiterhin erkennt, kann die vorliegende Erfindung in
Form von Verfahren, Systemen und/oder Computerprogrammprodukten verkörpert sein.
Demgemäß kann die
vorliegende Erfindung die Form einer Ausgestaltung ausschließlich in
Hardware, einer Ausgestaltung ausschließlich in Software oder einer
Ausgestaltung in einer Kombination aus Software- und Hardwareaspekten
annehmen. Weiterhin kann die vorliegende Erfindung die Form eines
Computerprogrammprodukts auf einem computerlesbaren Speichermedium
annehmen, wobei computerlesbarer Programmcode in dem Medium verkörpert ist.
Jedes geeignete computerlesbare Medium kann Verwendung finden, einschließlich Festplatten,
CD-ROMs, optische Speichervorrichtungen oder magnetische Speichervorrichtungen.
-
Bei
dem durch einen Computer verwendbaren oder Computer lesbaren Medium
kann es sich exemplarisch und ohne Beschränkung um ein elektronisches,
magnetisches, optisches, elektromagnetisches, infrarotes oder halbleiterbasiertes
System bzw. einen entsprechenden Apparat, eine entsprechende Vorrichtung
oder ein entsprechendes Ausbreitungsmedium handeln. Speziellere
Beispiele (in Form einer nicht abschließenden Liste) für das Computer
lesbare Medium würde
enthalten: eine elektrische Verbindung mit einem oder mehreren Drähten, eine
tragbare Computerdiskette, einen Speicher mit wahlfreiem Zugriff
(Random Access Memory – RAM), einen
Nurlesespeicher (Read-Only Memory – ROM), einen löschbaren
programmierbaren Nurlesespeicher (Erasable Programmable Read-Only
Memory – EPROM
oder Flash-Speicher),
eine optische Faser und einen tragbaren Compact-Disc-Nurlesespeicher (Compact
Disc Read-Only Memory – CD-ROM).
Es sei darauf hingewiesen, dass das durch einen Computer verwendbare
oder Computer lesbare Medium sogar Papier oder ein anderes geeignetes Medium sein
könnte,
auf welchem das Programm gedruckt ist, da das Programm beispielsweise
durch optisches Scannen des Papiers oder des anderen Mediums elektronisch
erfasst, dann kompiliert, übersetzt
oder anderweitig in geeigneter Weise verarbeitet und anschließend, falls
erforderlich, in einem Computerspeicher gespeichert werden kann.
-
Die
Erfindung wird auch unter Verwendung von Flussdiagrammabbildungen
und Blockschaltbildern beschrieben. Es sei darauf hingewiesen, dass jeder
Block (der Flussdiagramme und der Blockschaltbilder) und Kombinationen
von Blöcken
durch Computerprogrammanweisungen implementiert sein kann bzw. können. Diese
Programmanweisungen können
zu einer Prozessorschaltung geliefert werden, wie einen Mikroprozessor,
eine Mikrosteuereinheit oder einen anderen Prozessor, so dass die
Anweisungen, welche auf dem Prozessor oder den Prozessoren ausgeführt werden,
Mittel zum Implementieren der Funktionen erzeugen, die in dem Block oder
den Blöcken
spezifiziert sind. Die Computerprogrammanweisungen können durch
den Prozessor oder die Prozessoren ausgeführt werden, um zu bewirken,
dass eine Reihe von Operationsschritten durch den Prozessor oder
die Prozessoren ausgeführt
wird, um einen Computer implementierten Prozess zu erzeugen, so
dass die Anweisungen, welche auf dem Prozessor oder auf den Prozessoren
ausgeführt
werden, Schritte zum Implementieren der Funktionen bereitstellen,
die in dem Block oder den Blöcken
angegeben sind.
-
Dementsprechend
unterstützen
die Blöcke Kombinationen
von Mitteln zum Durchführen
der angegebenen Funktionen, Kombinationen von Schritten zum Durchführen der
angegebenen Funktionen und Programmanweisungsmittel zum Durchführen der
angegebenen Funktionen. Es sei auch darauf hingewiesen, dass jeder
Block und jede Kombination von Blöcken durch anwendungsspezifische
Hardware basierte Systeme implementiert sein kann, welche die angegebenen
Funktionen oder Schritte ausführen,
oder durch Kombinationen von anwendungsspezifischer Hardware und
Computeranweisungen.
-
Es
sei ebenfalls darauf hingewiesen, dass in einigen alternativen Implementierungen
die in den Blöcken
angegebenen Funktionen/Tätigkeiten
außerhalb
der in den Flussdiagrammen angegebenen Reihenfolge auftreten können. Beispielsweise
können
zwei Blöcke,
die in Abfolge dargestellt sind, tatsächlich im Wesentlichen gleichzeitig
ausgeführt werden
oder die Blöcke
können
manchmal in umgekehrter Reihenfolge ausgeführt werden, was von den betreffenden
Funktionalitäten/Tätigkeiten
abhängt.
-
1 ist
ein Blockschaltbild eines Systems 100 zum Schützen eines
Sicherheitsbereichs gegen einen nicht autorisierten Speicherzugriff
in einigen Ausgestaltungen gemäß der vorliegenden
Erfindung. Bezugnehmend auf 1 kann das
System 100 in einen Nichtsicherheitsbereich 10 und
einen Sicherheitsbereich 20 unterteilt werden. Der Sicherheitsbereich
(oder die Sicherheitszone) 20 ist ein Gebiet, welches dazu
dient, einen nicht autorisierten Speicherzugriff durch einen externen
Nutzer, beispielsweise einen Hacker, in dem System 100 zu
begrenzen.
-
Der
Nichtsicherheitsbereich 10 ist ein Gebiet, welches den
Sicherheitsbereich 20 in dem System 100 ausschließt und auf
welches durch einen Hacker über
Speicher zugegriffen werden kann. Das System 100 umfasst
einen Systembus 11, einen gemeinsam genutzten Speicher 12,
eine Mehrzahl von Bus-Mastern 15, 17 und 22,
eine Sicherheitsbereichseinstellregistereinheit 16, eine
Mehrzahl von Sicherheitsüberwachern
(Sicherheitsmonitoren, Security Monitors) 18-1 und 18-2,
einen Multiplexer 24 und ein Sicherheitsuntersystem oder
Sicherheitssubsystem 26.
-
Die
Bus-Master 15, 17 und 22 besitzen Rechte,
um auf den Systembus 11 zuzugreifen. Ein erster Prozessor 15,
ein DMA(Direct Memory Access – direkter
Speicherzugriff)-Element 17 und ein zweiter Prozessor 22 repräsentieren
zumindest Teile der Bus-Master, welche eine Berechtigung besitzen,
auf den Systembus 11 zuzugreifen. In einigen Ausgestaltungen
gemäß der Erfindung
ist der erste Prozessor 15 ein Anwendungsprozessor, der
ein Benutzerprogramm ausführen
kann, wie eine MCU (Micro Controller Unit – Mikrosteuereinheit). Das
DMA-Element 17 kann ein typischer Bus-Master sein, der
in der Lage ist, direkt auf einen Speicher zuzugreifen und Daten
zu übertragen.
-
In
einigen Ausgestaltungen gemäß der Erfindung
führt der
zweite Prozessor 22 entweder wenigstens die Rolle eines
Datenprozessors oder die Rolle eines sicheren Prozessors durch.
Der zweite Prozessor 22 kann ein DSP sein, welcher auf
den Sicherheitsbereich zugreift. Der gemeinsam genutzte Speicher 12 umfasst
einen Bereich (oder eine Domäne), welche
der erste Prozessor 15 (z. B. die MCU) und der zweite Prozessor 22 (z.
B. der DSP) gemeinsam nutzen können.
-
Da
die Adresse, welche durch den DSP 22 zum Zugreifen auf
den gemeinsam genutzten Speicher 12 verwendet wird, durch
die MCU 15 verwendet werden kann, können die Informationen, welche in
dem DSP 22 gespeichert sind, bei einem Angriff eines Hackers
auf die MCU 15 nach außen
gelangen oder durch den Hackerangriff verändert werden. Deshalb sollte
der zweite Prozessor 22 gegen den Hackerangriff geschützt werden,
wie die gegenwärtigen Erfinder
erkannt haben.
-
In
einigen Ausgestaltungen gemäß der Erfindung
ist das Sicherheitssubsystem 26 hardwaremäßig dazu
ausgebildet, die Rechte zu schützen,
welche mit Informationen verknüpft
sind, die durch ein Anwendungsprogramm des Systems 100 verwendet werden,
oder die Rechte des Anwendungsprogramms selbst. Beispielsweise kann
das Sicher heitssubsystem 26 in Hardware verkörpert sein,
um das DRM zu unterstützen,
welches in einigen tragbaren Geräten
für mobile
Sendungen enthalten ist.
-
Das
Sicherheitssubsystem 26 umfasst eine Speichereinheit für geheime
Schlüssel 26-2,
eine RTC(Real Time Clock – Echtzeittakt)-Einheit 26-4 und
eine Verschlüsselungsmaschine 26-6.
Die Speichereinheit für
geheime Schlüssel 26-2 speichert
Sicherheitsschlüssel.
Die Sicherheits-RTC-Einheit 26-4 ist
ein Modul zum Liefern eines sicheren Takts, der gegen eine Veränderung
durch einen externen Nutzer (das heißt einen Hacker) geschützt ist,
welches durch Software und/oder Hardware verkörpert sein kann. Somit gehört die RTC-Einheit 26-4 zu
dem Sicherheitsbereich 20.
-
Die
Verschlüsselungsmaschine 26-6 interpretiert
verschlüsselte
Daten, beispielsweise Sendungsinhalte, die von außen empfangen
werden, wobei die geheimen Schlüssel
verwendet werden, die in der Speichereinheit für geheime Schlüssel 26-2 gespeichert
sind. Beispielsweise kann der Sendeinhalt, der durch das System 100 empfangen
wird, durch die Verschlüsselungsmaschine 26-6 interpretiert
werden, indem die geheimen Schlüssel
verwendet werden, um den (verschlüsselten) Inhalt zu entschlüsseln. Da
die RTC-Einheit 26-4 Informationen bezüglich des Verwendungszeitraums
der empfangenen Sendeinhalte bereitstellt, sollte die RTC-Einheit 26-4 gegen
nicht autorisierten Zugriff geschützt werden.
-
Der
erste Prozessor 15 oder der zweite Prozessor 22 können selektiv über eine
Auswahlschaltung, wie einen Multiplexer 24, auf das Sicherheitssubsystem 26 zugreifen.
Jeder der Sicherheitsüberwacher 18-1 und 18-2 überwacht
einen entsprechenden Bus-Master, beispielsweise den ersten Prozessor 15 und
das DMA-Element 17, welche zu dem Nichtsicherheitsbereich 10 der
Bus-Master des Systembusses 11 gehören.
-
Jeder
der Sicherheitsüberwacher 18-1 und 18-2 überwacht
Speicherzugriffe durch den entsprechenden Bus-Master, der in dem
Nichtsicherheitsbereich 10 enthalten ist, um zu bestimmen,
ob eine Adresse auf dem Systembus 11 einer Adresse entspricht
(oder in einen Adressbereichfeld fällt), die bzw. der zu einem
vorbestimmten sicheren Bereich des Sicherheitsbereichs 20 gehört.
-
Somit
kann das System 100 gemäß der vorliegenden
Erfindung durch die MCU verkörpert
sein, welche TrustZone nicht unterstützt, da Aktivitäten der Bus-Master
(wie Speicherzugriffe über
den Systembus 11) durch die Sicherheitsüberwacher überwacht werden und somit nicht
in das Design der MCU eingeschlossen sein müssen, was es erlauben kann, eine
Standard-MCU anstelle einer speziell ausgebildeten MCU zu verwenden.
Die Sicherheitsbereichseinstellregistereinheit 16 speichert
Informationen über
Zugriffsrechte und Adressen, die in dem vorbestimmten Sicherheitsbereich
enthalten sind.
-
2 ist
ein Blockschaltbild zur Darstellung eines Beispiels der Struktur
der Sicherheitsbereichseinstellregistereinheit in 1.
Bezugnehmend auf 1 und 2 umfasst
die Sicherheitsbereichseinstellregistereinheit 16 ein erstes
Register 212, ein zweites Register 214 und ein
drittes Register 216. Das erste Register 212 speichert
Informationen S1, die Speicherzugriffsrechte für einen entsprechenden Bus-Master
anzeigen. Beispielsweise kann das erste Register 212 Informationen
S1 speichern, welche anzeigen, ob eine Adresse (oder ein Speicheradressbereich)
für den
entsprechenden Bus-Master zugänglich,
nicht zugänglich
oder ausschließlich
lesbar ist.
-
Das
zweite Register 214 speichert Informationen S2 über Start-
oder Anfangsadressen von vorbestimmten Sicherheitsbereichen. Das
dritte Register 216 speichert Informationen S3 über die
Größen der
vorbe stimmten Sicherheitsbereiche, beispielsweise deren Offset oder
Versatz. Die Sicherheitsbereichseinstellregistereinheit 16 speichert
Informationen S1, S2 und S3 über
die Adressen der Sicherheitsbereiche. Die Informationen S1, S2 und
S3 über die
Adressen der Sicherheitsbereiche können bei der Sicherheitsbereichseinstellregistereinheit 16 durch das
Ausführen
des Benutzerprogramms durch den ersten Prozessor 15, beispielsweise
die MCU, programmiert werden.
-
Um
also die bei der Sicherheitsbereichseinstellregistereinheit 16 programmierten
Informationen gegen den Angriff eines externen Benutzers, beispielsweise
eines Hackers, zu schützen,
können
die Informationen über
die Sicherheitsbereiche bei der Sicherheitsbereichseinstellregistereinheit 16 in
Verbindung mit (oder als Teil von) einem sicheren Hochfahren (Secure
Boot) programmiert werden, wenn das System 100 einen sicheren
Boot-Prozess unterstützt.
-
Genauer
gesagt führt
die MCU 15 das sichere Hochfahren aus. Der Bereich zum
Ausführen
des sicheren Hochfahrens ist ein Bereich, in den ein externer Nutzer
nicht eindringen kann. Auf diese Weise kann die MCU 15 die
Informationen über
die Sicherheitsbereiche bei der Sicherheitsbereichseinstellregistereinheit 16 basierend
auf einem sicheren Boot-Code, der in dem sicheren Boot-Prozess ausgeführt wird,
programmieren.
-
Ein
Zurücksetzen
der Sicherheitsbereiche bei der Sicherheitsbereichseinstellregistereinheit 16 durch
die MCU 15 sollte verhindert werden, nachdem das sichere
Hochfahren vollständig
ausgeführt
wurde. Wenn das sichere Hochfahren abgeschlossen ist, erzeugt der
zweite Prozessor 22, zum Beispiel der DSP, ein Steuersignal
Dis, um den Zugriff durch die MCU 15 auf die Sicherheitsbereichseinstellregistereinheit 16 zu
blockieren. Beispielsweise ist die MCU 15 in Abhängigkeit
von dem Steuersignal Dis hinsichtlich eines Zugriffs auf die Sicherheitsbereichseinstellregistereinheit 16 deaktiviert.
-
Folglich
kann jeder der Sicherheitsüberwacher 18-1 und 18-2 einen
entsprechenden Bus-Master basierend auf den Informationen S1, S2
und S3 über
die Sicherheitsbereiche überwachen,
welche in der Sicherheitsbereichseinstellregistereinheit 16 gespeichert
sind. Beispielsweise vergleicht der erste Sicherheitsüberwacher 18-1 eine
Adresse, die in einem Zugriff des ersten Prozessors enthalten ist,
mit einer Adresse der Sicherheitsbereiche, die basierend auf den
Informationen S1, S2 und S3, welche in der Sicherheitsbereichseinstellregistereinheit 16 gespeichert
sind, eingestellt wurde bzw. wurden, und gibt das Ergebnis des Vergleichs
aus. Der entsprechende Sicherheitsüberwacher 18-2 kann
dieselben oder ähnliche
Funktionen haben.
-
3 zeigt
das Konzept von Sicherheitsbereichen, die basierend auf den Informationen
eingestellt wurden, die in der Sicherheitsbereichseinstellregistereinheit 16 in 2 programmiert
wurden. Bezugnehmend auf 2 und 3 können vier
Sicherheitsbereiche #1 bis #4 in dem gemeinsam genutzten Speicher 12 eingestellt
oder eingerichtet werden. In dem gemeinsam genutzten Speicher 12 sind Gebiete
außerhalb
der Sicherheitsbereiche #1 bis #4 Nichtsicherheitsbereiche.
-
Beispielsweise
handelt es sich bei dem ersten Sicherheitsbereich #1 um ein unzugängliches Gebiet,
welches ein Datenabschnittsgebiet darstellen kann, in dem Sicherheitsdaten
des zweiten Prozessors 22, beispielsweise des DSP, lokalisiert
sind. Das zweite Sicherheitsgebiet #2 ist ein unzugängliches Gebiet,
welches einem Programmspeicher entsprechen kann, in dem ein Sicherheits-F/W-Code
des zweiten Prozessors 22, beispielsweise des DSP, lokalisiert
ist. Der dritte Sicherheitsbereich #3 ist ein unzugängliches
Gebiet, bei dem es sich um ein Speichergebiet, beispielsweise einen
RAM, des DSP 22 handeln kann, wel ches eine Trap/Patch-Funktion
haben kann, um einen ROM-Code des DSP 22 zu ergänzen oder
zu „flicken".
-
Der
vierte Sicherheitsbereich #4 ist ein zugängliches Nurlesegebiet und
kann ein Speichergebiet sein, in dem ein Schutzcode lokalisiert
ist, welcher von dem DRM bezüglich
des ersten Prozessors 15, beispielsweise der MCU, benötigt wird.
Auf diese Weise können
durch das Einstellen des ersten Sicherheitsgebiets #1 und des zweiten
Sicherheitsgebiets #2 die Informationen in dem DSP 22 geschützt werden,
selbst wenn die MCU 15 durch einen Hacker angegriffen wird.
-
4 ist
ein Flussdiagramm zur Darstellung eines Verfahrens zum Schützen von
Sicherheitsbereichen eines Systems gemäß einer Ausgestaltung der vorliegenden
Erfindung. Bezugnehmend auf 1 und 4 programmiert
der erste Prozessor 15 die Informationen S1 bis S3, um
Sicherheitsbereiche bei der Sicherheitsbereichseinstellregistereinheit 16 einzustellen
oder einzurichten (S410). Der erste Prozessor 15 kann die
Informationen S1 bis S3 bei der Sicherheitsbereichseinstellregistereinheit 16 basierend
auf dem sicheren Boot-Code Cd programmieren.
-
Jeder
beliebige der Bus-Master 15, 17 und 22 des
Systems 100 kann durch den Systembus 11 auf den
ersten Adressbereich in dem System 100 zugreifen (S420).
Der Sicherheitsüberwacher überwacht,
ob die Adresse des ersten Adressbereichs, auf welches der Bus-Master
zugreift, irgendeiner der Adressen der eingestellten Sicherheitsbereiche
entspricht (S430).
-
Beispielsweise
versucht der erste Prozessor 15, beispielsweise eine MCU,
auf ein Gebiet zuzugreifen, welches Sicherheitsdaten in einem Datenabschnitt
des zweiten Prozessors 22, beispielsweise eines DSP, zugeordnet
ist. Der erste Sicherheitsüberwacher 18-1 kann überwachen, ob
die Adresse eines Gebiets, welches für die Sicherheitsdaten in dem
Datenabschnitt zugewiesen ist, worauf die MCU zugreift, irgendeiner
der Adressen der Sicherheitsbereiche entspricht.
-
Wenn
die Adressen einander gemäß dem Ergebnis
der Überwachung
nicht entsprechen, erlaubt der Sicherheitsüberwacher 18-1 dem
Bus-Master, auf
den ersten Adressbereich zuzugreifen (S440). Wenn dagegen die Adressen
einander entsprechen, verweigert der Sicherheitsüberwacher 18-1 den
Zugriff des Bus-Masters auf den ersten Adressbereich (S450).
-
Wie
oben beschrieben, kann das System gemäß der vorliegenden Erfindung
unter Verwendung der MCU ausgebildet sein, welche TrustZone nicht unterstützt, da
die Überwachung
durch die Sicherheitsüberwacher
erfolgt, die außerhalb
des Prozessorkerns angeordnet sein können, welcher dem Sicherheitsüberwacher
entspricht. Des Weiteren ist bei einigen Ausgestaltungen gemäß der Erfindung
der DSP eines dualen Kerns aus der MCU und dem DSP, welche sich
die Speicheradresse für
eine Datenkommunikation teilen, als ein Sicherheitsbereich eingerichtet,
so dass die Effizienz der Verwendung eines Speichers verbessert
ist. Selbst wenn die MCU durch einen Hacker angegriffen wird, sind
die Informationen, die in dem DSP gespeichert sind, sicher geschützt.
-
Ausgestaltungen
gemäß der Erfindung
können
auch als Computer lesbarer Code bereitgestellt werden, der in einem
computerlesbaren Medium gespeichert ist. Das Computer lesbare Aufzeichnungsmedium
ist ein beliebiges Datenspeicherelement, das Daten speichern kann,
die anschließend
durch ein Computersystem gelesen werden können. Das computerlesbare Aufzeichnungsmedium
kann auch über
Computersysteme verbreitet werden, die durch ein Netz gekoppelt
sind, so dass der Computer lesbare Code in einer verteilten Weise
gespeichert und ausgeführt
wird. Darüber
hinaus können
funktionale Programme, Codes und Codesegmente zum Ausführen der
vorliegenden Erfindung in einfacher Weise durch Programmierer erstellt
werden, die Fachleute auf dem für
die vorliegende Erfindung maßgeblichen Gebiet
sind.