DE102006035610B4 - Speicherzugriffssteuerung und Verfahren zur Speicherzugriffssteuerung - Google Patents
Speicherzugriffssteuerung und Verfahren zur Speicherzugriffssteuerung Download PDFInfo
- Publication number
- DE102006035610B4 DE102006035610B4 DE102006035610A DE102006035610A DE102006035610B4 DE 102006035610 B4 DE102006035610 B4 DE 102006035610B4 DE 102006035610 A DE102006035610 A DE 102006035610A DE 102006035610 A DE102006035610 A DE 102006035610A DE 102006035610 B4 DE102006035610 B4 DE 102006035610B4
- Authority
- DE
- Germany
- Prior art keywords
- segment
- memory
- access request
- software section
- active
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 230000015654 memory Effects 0.000 title claims abstract description 88
- 238000000034 method Methods 0.000 title claims description 14
- 230000001960 triggered effect Effects 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 4
- 230000000903 blocking effect Effects 0.000 claims 2
- 230000007246 mechanism Effects 0.000 description 8
- 230000000694 effects Effects 0.000 description 3
- 230000011218 segmentation Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1416—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
- G06F12/1425—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
- G06F12/1433—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a module or a part of a module
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1458—Protection against unauthorised use of memory or access to memory by checking the subject access rights
- G06F12/1491—Protection against unauthorised use of memory or access to memory by checking the subject access rights in a hierarchical protection system, e.g. privilege levels, memory rings
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/53—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/554—Detecting local intrusion or implementing counter-measures involving event detection and direct action
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6227—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/77—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in smart cards
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/82—Protecting input, output or interconnection devices
- G06F21/85—Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Databases & Information Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Storage Device Security (AREA)
Abstract
Speicherzugriffssteuerung (100) mit folgenden Merkmalen: einer ersten Schnittstelle, die mit einem Speicher (120) verbunden ist, der in einem ersten Segment einen kritischen Softwareabschnitt und in einem zweiten Segment einen unkritischen Softwareabschnitt gespeichert hat, wobei bei einer Zugriffsanfrage auf den kritischen Softwareabschnitt eine erste Ausführeinrichtung (132) und eine zweite Ausführeinrichtung (134) aktiv sein müssen und wobei bei einer Zugriffsanfrage auf den unkritischen Softwareabschnitt nur eine der Ausführeinrichtungen aktiv sein muss; einer zweiten Schnittstelle, die mit der ersten und der zweiten Ausführeinrichtung (132, 134) gekoppelt ist; einem ersten Prüfer (102) mit einem Eingang für eine über die zweite Schnittstelle empfangene Zugriffsanfrage und einem Ausgang für ein erstes Prüfsignal, das anzeigt, ob die Zugriffsanfrage auf das erste Segment gerichtet ist; einem zweiten Prüfer (104) mit einem Ausgang für ein zweites Prüfsignal, das anzeigt, ob beide Ausführeinrichtungen aktiv sind; und einer Steuereinheit (106) mit Eingängen für das erste und...
Description
- Die vorliegende Erfindung befasst sich mit einer Speicherzugriffssteuerung und einer Vorrichtung und einem Verfahren zum Steuern eines Zugriffs auf einen Speicher, die in Prozessorsystemen eingesetzt werden können und insbesondere für Sicherheitssysteme geeignet sind.
- Sicherheitssysteme, wie sie beispielsweise auf Chipkarten realisiert sind, müssen vor Angriffen geschützt werden. Durch die Einführung digitaler Mechanismen zur Fehlererkennung werden insbesondere Fehlerangriffe sehr effizient abgewehrt. Unter solche Mechanismen fallen Errorcodes, die im Zusammenhang mit Speichern eingesetzt werden, oder Hardwareredundanz, die im Zusammenhang mit der verwendeten Logik realisiert wird.
- Diese Sicherheitsmaßnahmen sind jedoch auch mit Nachteilen verbunden. So erhöht sich nicht unwesentlich die Chipfläche und der Energieverbrauch eines solchen Systems.
- Aus der
DE 68928980 T2 ist ein Mikroprozessorsystem bekannt, bei dem eine Kreuzschienenschaltermatrix vorgesehen ist, die eine Mehrzahl von Speichern mit einer Mehrzahl von Prozessoren und optional einem externen Gerät verbinden kann. Eine Konfliktschaltungsanordnung ist vorgesehen, um eine Zugriffspriorität festzustellen, wenn mehrere Prozessoren gleichzeitig versuchen, auf einen der Speicher zuzugreifen. - Aus der
US 5905738 A ist eine Busüberwachungseinrichtung bekannt, um Daten auf einem Bus, der mehrere integrierte Schaltungen verbindet, zu beobachten, während die integrierten Schaltungen in Betrieb sind. - Aus der
US 7051131 B1 ist ein Verfahren bekannt, das es ermöglicht, eine Historie einer Busaktivität in einer Mehrprozessorumgebung aufzuzeichnen, indem eine dynamisches Abtastregister konfiguriert wird, um einen interessierenden Aufnahmemodus, ein Datenformat, das verwendet wird, um die interessierenden Daten zu speichern, und ein Auslöseereignis, um die Verfolgungsaktivität zu beginnen und zu beenden, einzustellen. - In der
DE 19532640 C2 ist eine Einrichtung zur einkanaligen Übertragung von aus zwei Datenquellen stammenden Daten bekannt, wobei die Daten von mindestens zwei unabhängigen, sich laufend auf Übereinstimmung vergleichenden Rechnern nach gleichen Gesetzmäßigkeiten aus den gleichen Eingangsdaten gebildet werden. Die beiden Rechner erzeugen Prüfdaten, anhand derer ein Empfänger beurteilen kann, ob die Daten unter Verwendung beider Rechner erzeugt wurden. Wird empfangsseitig festgestellt, dass an der Bildung der übermittelten Daten nicht beide Rechner bzw. Rechnerkanäle der Sendeseite beteiligt sind, wird mindestens eine sicherheitsrelevante Prozessperipherie abgeschaltet, so dass es zu keinen gefährlichen Auswirkungen kommen kann. - Die
DE 102004032237 A1 offenbart ein Prozessor-Speicher-System mit mindestens einem Prozessor, einer Speichereinheit, mindestens einer ersten Speichersteuereinheit zur Steuerung von Zugriffen des mindestens einen Prozessors auf die Speichereinheit, und einer Konfigurationseinheit. Die Konfigurationseinheit ist in Hardware ausgeführt und ist ausgelegt, um die mindestens eine erste Speichersteuereinheit bei einem Wechsel der mindestens einen ersten Speichersteuereinheit von einem Niedrigleistungs-Betriebsmodus in einen Normalleistungs-Betriebsmodus zu konfigurieren. - Es ist die Aufgabe der vorliegenden Erfindung, eine Speicherzugriffssteuerung und ein Verfahren zur Speicherzugriffssteuerung zu schaffen, die eine sichere Speicherzugriffssteuerung ermöglichen, ohne dabei einen erhöhten Energieverbrauch zu erfordern.
- Diese Aufgabe wird durch eine Speicherzugriffssteuerung gemäß Anspruch 1, ein System gemäß Anspruch 4, eine Vorrichtung zum Steuern eines Zugriffs auf einen Speicher gemäß Anspruch 7 und ein Verfahren zur Speicherzugriffssteuerung gemäß Anspruch 9 gelöst.
- Weiterbildungen der Erfindung sind in den abhängigen Ansprüchen dargelegt.
- Der vorliegenden Erfindung liegt die Idee zugrunde, spezielle Sicherheitsmechanismen nur im Falle von sicherheitskritischen Operationen einzuschalten. Damit lässt sich Energie einsparen. Der erfindungsgemäße Ansatz berücksichtigt dabei Gefahren, die durch ein Verspringen einer ausgeführten Softwareausgelöst werden können. So muss ausgeschlossen sein, dass sich durch einen Softwaresprung während der Ausführung von unkritischen Software-Operationen die Möglichkeit ergibt, sicherheitskritische Code-Sequenzen auszuführen oder Zugriff auf sicherheitskritische Daten zu erhalten, ohne dass die Sicherheitsmechanismen aktiviert sind. Würde dies passieren, so könnte ein Angriff auf das System erfolgreich und das System damit unsicher sein. Gemäß der vorliegenden Erfindung wird eine Hardware-Firewall zwischen unkritischen Teilen der Software und sicherheitskritischen Teilen der Software implementiert. Mit dieser Idee ist es möglich, ein System entweder in einem Niedrig-Energie-Modus oder einem Hoch-Sicherheits-Modus zu betreiben, ohne dass das System eine Sicherheitslücke aufweisen würde.
- Bei Systemen mit aufgedoppelten Hardwareteilen ist es somit möglich, die aufgedoppelten Hardwareteile während des Niedrig-Energie-Modus abzuschalten und während des Hoch-Sicherheits-Modus zu aktivieren, ohne dabei das System unsicher zu machen. Insbesondere lässt sich diese Idee mit wenig Auswirkungen auf die Software realisieren.
- Unter kritischen Softwareabschnitten werden bei Ausführungsbeispielen der Erfindung solche Abschnitte verstanden, die sicherheitsrelevante Teile beinhalten und somit von zwei Ausführungseinrichtungen parallel ausgeführt werden müssen.
- Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend Bezug nehmend auf die beiliegenden Zeichnungen näher erläutert. Es zeigen:
-
1 ein Blockschaltbild eines Systems mit einer Speicherzugriffssteuerung gemäß einem Ausführungsbeispiel der vorliegenden Erfindung; -
2 eine schematische Darstellung einer Steuereinheit gemäß einem Ausführungsbeispiel der vorliegenden Erfindung; und -
3 ein Ablaufdiagramm eines Verfahrens zur Speicherzugriffssteuerung gemäß einem Ausführungsbeispiel der vorliegenden Erfindung. - In der nachfolgenden Beschreibung der bevorzugten Ausführungsbeispiel der vorliegenden Erfindung werden für die in den verschiedenen Zeichnungen dargestellten und ähnlich wirkenden Elemente gleiche oder ähnliche Bezugszeichen verwendet, wobei eine wiederholte Beschreibung dieser Elemente weggelassen wird.
-
1 zeigt ein System mit einer Speicherzugriffssteuerung100 gemäß einem Ausführungsbeispiel der vorliegenden Erfindung. Die Speicherzugriffssteuerung100 weist einen ersten Prüfer102 und einen zweiten Prüfer104 , eine Steuereinheit106 auf. Die Speicherzugriffssteuerung100 ist mit einem Speicher120 sowie einer ersten Ausführeinrichtung132 und einer zweiten Ausführeinrichtung134 gekoppelt. - Gemäß dem in
1 gezeigten Ausführungsbeispiel ist die Speicherzugriffssteuerung100 mit der ersten Ausführeinrichtung132 sowie der zweiten Ausführeinrichtung134 verbunden, um von diesen eine Zugriffsanfrage zu empfangen. Die Zugriffsanfrage kann beispielsweise eine virtuelle Speicheradresse enthalten. Ferner ist die Speicherzugriffssteuerung100 mit dem Speicher120 verbunden, um einen Speicherzugriff durchzuführen. Der Speicherzugriff kann eine physikalische Adresse des Speichers120 beinhalten. Die Speicherzugriffssteuerung100 ist ausgebildet, um die Zugriffsanfrage der Ausführeinrichtungen132 ,134 in den Speicherzugriff auf den Speicher umzuwandeln. Handelt es sich bei der Zugriffsanfrage um eine virtuelle Adresse, so ist die Speicherzugriffssteuerung ausgebildet, um die virtuelle Adresse zu empfangen und eine, der virtuellen Adresse entsprechende physikalische Adresse auszugeben. - Das in
1 gezeigte System ist ausgebildet, um Softwareoperationen durchzuführen. Die dabei zugrundeliegende Software kann in dem Speicher120 gespeichert sein. Die Software kann sicherheitskritische Abschnitte und sicherheitsunkritische Abschnitte aufweisen. Kritische Softwareabschnitte sind beispielsweise solche, die sicherheitskritische Daten verarbeiten oder Zugang zu geschützten Software- oder Hardware-Bereichen ermöglichen. Bei der Ausführung von sicherheitskritischen Softwareabschnitten ist sowohl die erste Ausführeinrichtung132 als auch die zweite Ausführeinrichtung134 aktiv. Dies bedeutet, das sicherheitskritische Softwareabschnitte auf aufgedoppelten Hardwareteilen ausgeführt werden. Dadurch ist eine Hardwareredundanz gegeben, die Fehlerangriffe sehr effizient abwehrt. Bei sicherheitsunkritischen Softwareabschnitten ist diese Hardwareredundanz nicht erforderlich. Somit können sicherheitsunkritische Softwareabschnitte entweder nur auf der ersten Ausführeinrichtung132 oder nur auf der zweiten Ausführeinrichtung134 ausgeführt werden. Es ist auch möglich, sicherheitsunkritische Softwareabschnitte auf beiden Ausführeinrichtungen132 ,134 auszuführen. Sicherheitskritische Softwareabschnitte werden dagegen immer auf beiden Ausführeinrichtungen132 ,134 ausgeführt. Der Speicher120 ist in Segmente unterteilt. In1 ist beispielhaft ein Segment1 und ein Segment2 gezeigt. Gemäß diesem Ausführungsbeispiel ist ein sicherheitskritischer Abschnitt der Software im Segment1 und ein sicherheitsunkritischer Abschnitt der Software im Segment2 gespeichert. Zur Segmentierung des Speichers120 können bekannte Segmentierungsmechanismen eingesetzt werden. Dabei können kritische Software-Abschnitte in beliebigen Segmenten des Speichers120 gespeichert sein. - Die Speicherzugriffssteuerung
100 ist ausgebildet, um die Zugriffsanfrage über eine zweite Schnittstelle zu empfangen. Ferner weist der erste Prüfer102 einen Eingang zum Empfangen der Zugriffsanfrage auf. Der erste Prüfer102 ist ausgebildet, um zu prüfen, auf welches Segment des Speichers120 die Zugriffsanfrage gerichtet ist. Über einen Ausgang kann der erste Prüfer102 ein erstes Prüfsignal ausgeben, das anzeigt, auf welches Segment des Speichers120 die Zugriffsanfrage gerichtet ist. Gemäß diesem Ausführungsbeispiel kann der erste Prüfer102 insbesondere anzeigen, ob die Zugriffsanfrage auf das Segment des Speichers120 gerichtet ist, in dem der sicherheitskritische Abschnitt der Software gespeichert ist. Ist die Zugriffsanfrage auf das Segment1 des Speichers120 gerichtet, in dem der sicherheitskritische Softwareabschnitt gespeichert ist, so sollten bereits beide Ausführeinrichtungen132 ,134 aktiviert sein. - Der zweite Prüfer
104 ist ausgebildet, um zu prüfen, ob beide Ausführeinrichtungen132 ,134 aktiv sind. Dies kann beispielsweise durch Auslesen eines Prüfbits erfolgen, das anzeigt, ob die Ausführeinrichtungen132 ,134 aktiv sind. Beispielsweise kann das Prüfbit immer dann gesetzt sein, wenn beide Ausführeinrichtungen132 ,134 aktiv sind. Der zweite Prüfer weist einen Ausgang zum Ausgeben eines zweiten Prüfsignals auf. Das zweite Prüfsignal kann anzeigen, ob beide Ausführeinrichtungen132 ,134 aktiv sind. - Die Steuereinheit
106 ist ausgebildet, um das erste Prüfsignal und das zweite Prüfsignal zu empfangen. Dazu weist die Steuereinheit106 entsprechende Eingänge für das erste und zweite Prüfsignal auf. Ferner weist die Steuereinheit106 einen Ausgang zum Ausgeben eines Alarmsignals auf. Das Alarmsignal zeigt an, dass die Zugriffsanfrage auf das Segment1 des Speichers120 gerichtet ist, in dem der sicherheitskritische Softwareabschnitt gespeichert ist, und dass nicht sowohl die erste Ausführeinrichtung132 als auch die zweite Ausführeinrichtung134 aktiv ist. Das Alarmsignal kann von dem in1 gezeigten System ausgegeben werden. Alternativ kann das Alarmsignal auch verwendet werden, um die Zugriffsanfrage, die das Alarmsignal ausgelöst hat, zu blockieren oder das System in einen sicheren Modus zu überführen. Ist die Zugriffsanfrage dagegen auf einen unkritschen Software-Abschnitt gerichtet und es ist nur eine der Ausführeinrichtungen132 ,134 aktiv, so wird der Alarm nicht ausgelöst. - Beispielsweise kann es sich bei dem in
1 gezeigten System um ein Prozessorsystem handeln, wie es auf Chipkarten realisiert ist. In diesem Fall kann es sich bei der Speicherzugriffssteuerung um eine Memory Management Unit, bei dem Speicher120 um einen ROM-, einen RAM-Speicher oder einen NVM-Speicher (NVM = non volatile memory) und bei den Ausführeinrichtungen132 ,134 um aufgedoppelte Teile einer CPU handeln. Die Speicherzugriffssteuerung100 kann über Adressbusse mit dem Speicher120 sowie den Ausführeinrichtungen132 ,134 verbunden sein. - Die vorliegende Erfindung bietet eine Lösung, die besonders für Low-Power-Systeme, wie kontaktlose Chipkarten, von hohem Wert ist. Dabei ist speziell der geringe Stromverbrauch des erfindungsgemäßen Ansatzes für ein solches Security-System von Vorteil. Insbesondere ermöglicht der erfindungsgemäße Ansatz, den erhöhten Energieverbrauch, der bisher aufgrund von Sicherheitsmechanismen zu akzeptieren war, zu reduzieren.
-
2 zeigt eine schematische Darstellung einer Steuereinheit106 gemäß einem Ausführungsbeispiel der vorliegenden Erfindung. Die Steuereinheit106 weist Deskriptoren262 ,264 auf. Bei den Deskriptoren262 ,264 kann es sich um Registersätze handeln, wie sie in herkömmlichen Memory Management Units verwendet werden. Typischerweise ist jedem Segment des Speichers120 ein Deskriptor zugeordnet. Gemäß diesem Ausführungsbeispiel ist dem Segment1 der Deskriptor262 und dem Segment2 der Deskriptor264 zugeordnet. Beispielsweise können die Deskriptoren262 ,264 Angaben über die physikalische Basisadresse, die Länge und die Zugriffsrechte des zugehörigen Segments enthalten. Somit ist mit Hilfe der Deskriptoren262 ,264 eine Umwandlung der Zugriffsanfrage, die eine virtuelle Adresse enthält, auf den Speicherzugriff möglich, der eine physikalische Adresse enthält. - Gemäß dem erfindungsgemäßen Ansatz weisen die Deskriptoren
262 ,264 Speicherstellen für Hoch-Sicherheits-Modus-Bits265 ,267 auf. Ist solch ein Hoch-Sicherheits-Modus-Bit265 ,267 gesetzt, so kann ein Speicherzugriff auf das dazugehörige Segment nur erfolgen, wenn beide Ausführeinrichtungen132 ,134 aktiv sind. - Gemäß einem alternativen Ausführungsbeispiel können die Hoch-Sicherheits-Modus-Bits
265 ,267 eingesetzt werden, um die Ausführeinrichtungen132 ,134 zu aktivieren. Dies könnte beispielsweise dann erforderlich sein, wenn eine Zugriffsanfrage auf ein Segment des Speichers120 erfolgt, in dem sicherheitskritische Softwareabschnitte gespeichert sind und bisher nur eine der Ausführeinrichtungen132 ,134 aktiv ist. -
3 zeigt eine Ablaufsteuerung eines Verfahrens zur Speicherzugriffssteuerung gemäß einem Ausführungsbeispiel der vorliegenden Erfindung. Gemäß diesem Ausführungsbeispiel wird beispielsweise von einem Prozessor eine virtuelle Adresse an die Speicherzugriffssteuerung abgegeben. Die Speicherzugriffssteuerung prüft in einem ersten Schritt302 , ob die empfangene virtuelle Adresse einem sicherheitskritischen Segment des Speichers zugeordnet ist. Ist dies nicht der Fall, so kann direkt die zugehörige physikalische Adresse ausgegeben werden und ein Zugriff auf den Speicher gestartet werden. Handelt es sich bei der virtuellen Adresse jedoch um eine Adresse, die einem sicherheitskritischen Segment zugeordnet ist, so wird in einem weiteren Schritt304 überprüft, ob die Hardware-Doppelung aktiv ist. Ist die Hardware-Doppelung aktiv, so kann wiederum die der virtuellen Adresse entsprechende physikalische Adresse ausgegeben werden und der Zugriff auf den Speicher gestartet werden. Ist die Hardware-Doppelung jedoch nicht aktiv, so wird ein Alarm ausgelöst. - Die Kernidee der vorliegenden Erfindung ist es somit, den Segmenten, die in der Memory Management Unit (MMU; MMU = Memory Management Unit) des Systems den physikalischen auf den virtuellen Speicher abbildet, eine Kennung zu geben, mit der ein Zugriff ohne aktivierte Sicherheitsmechanismen erlaubt oder verboten wird. Sollte also ein Angriff auf das System dazu führen, dass während abgeschalteter Sicherheitsmechanismen, d. h. einer abgeschalteten Hardware-Doppelung, durch einen Angriff auf einen im Speicher abgelegten Code- oder Datenbereich zugegriffen wird, der als sicherheitsrelevant gekennzeichnet ist, so erzeugt das System automatisch einen Security-Alarm.
- Die Hardware-Doppelung kann ausgeführt werden, indem zwei identische Prozessoren implementiert sind. Alternativ kann auch nur ein einziger Prozessor realisiert sein, bei dem einzelne Logikabschnitte doppelt ausgeführt sind und entsprechend einer erforderlichen Sicherheitsstufe der auszuführenden Software aktiviert werden können. Eine Unterscheidung zwischen dem Hoch-Sicherheits-Modus, bei dem die Hardwareredundanz aktiv ist, und dem Niedrig-Energie-Modus, bei dem die Doppelung nicht aktiv ist, kann durch die auszuführende Software, beispielsweise eine Kunden-Software, gemacht werden.
- Abhängig von den Gegebenheiten kann das erfindungsgemäße Speicherzugriffsverfahren in Hardware oder in Software implementiert werden. Die Implementation kann auf einem digitalen Speichermedium, insbesondere einer Diskette oder CD mit elektronisch auslesbaren Steuersignalen erfolgen, die so mit einem programmierbaren Computersystem zusammenwirken können, dass das entsprechende Verfahren ausgeführt wird. In anderen Worten ausgedrückt kann die Erfindung somit als ein Computerprogramm mit einem Programmcode zur Durchführung des Verfahrens realisiert werden, wenn das Computer-Programm auf einem Computer abläuft.
- Bezugszeichenliste
-
- 100
- Speicherzugriffssteuerung
- 102
- erster Prüfer
- 104
- zweiter Prüfer
- 106
- Steuereinheit
- 120
- Speicher
- 132
- erste Ausführeinrichtung
- 134
- zweite Ausführeinrichtung
- 262
- erster Deskriptor
- 264
- zweiter Deskriptor
- 265
- erstes Hoch-Sicherheits-Modus-Bit
- 267
- zweites Hoch-Sicherheits-Modus-Bit
- 302
- erster Schritt
- 304
- zweiter Schritt
Claims (11)
- Speicherzugriffssteuerung (
100 ) mit folgenden Merkmalen: einer ersten Schnittstelle, die mit einem Speicher (120 ) verbunden ist, der in einem ersten Segment einen kritischen Softwareabschnitt und in einem zweiten Segment einen unkritischen Softwareabschnitt gespeichert hat, wobei bei einer Zugriffsanfrage auf den kritischen Softwareabschnitt eine erste Ausführeinrichtung (132 ) und eine zweite Ausführeinrichtung (134 ) aktiv sein müssen und wobei bei einer Zugriffsanfrage auf den unkritischen Softwareabschnitt nur eine der Ausführeinrichtungen aktiv sein muss; einer zweiten Schnittstelle, die mit der ersten und der zweiten Ausführeinrichtung (132 ,134 ) gekoppelt ist; einem ersten Prüfer (102 ) mit einem Eingang für eine über die zweite Schnittstelle empfangene Zugriffsanfrage und einem Ausgang für ein erstes Prüfsignal, das anzeigt, ob die Zugriffsanfrage auf das erste Segment gerichtet ist; einem zweiten Prüfer (104 ) mit einem Ausgang für ein zweites Prüfsignal, das anzeigt, ob beide Ausführeinrichtungen aktiv sind; und einer Steuereinheit (106 ) mit Eingängen für das erste und zweite Prüfsignal und einem Ausgang für ein Alarmsignal, das anzeigt, dass die Zugriffsanfrage auf das erste Segment gerichtet ist und nicht beide Ausführeinrichtungen aktiv sind, und das die Zugriffsanfrage, die es ausgelöst hat, blockiert. - Speicherzugriffssteuerung gemäß Anspruch 1, bei der die Steuereinheit (
106 ) einen weiteren Ausgang für ein Speicherzugriffssignal aufweist, mit dem ein Zugriff auf den Speicher (120 ) erfolgt. - Speicherzugriffssteuerung gemäß einem der Ansprüche 1 oder 2, wobei die Steuereinheit (
106 ) ein erstes Register (262 ), das dem ersten Segment zuordenbar ist und ein zweites Register (264 ), das dem zweiten Segment zuordenbar ist aufweist, und wobei das erste Register ein erstes Sicherheitsbit (265 ) aufweist, das anzeigt ob das erste Segment einen kritischen Softwareabschnitt aufweist und wobei das zweite Register ein zweites Sicherheitsbit (265 ) aufweist, das anzeigt ob das zweite Segment einen kritischen Softwareabschnitt aufweist. - System mit folgenden Merkmalen: einer Speicherzugriffssteuerung (
100 ) gemäß Anspruch 1; dem Speicher (120 ) mit dem ersten Segment, in dem ein kritischer Softwareabschnitt speicherbar ist, und dem zweiten Segment, in dem ein unkritischer Softwareabschnitt speicherbar ist; der ersten Ausführeinrichtung (132 ), auf der Operationen, die auf den kritischen Softwareabschnitt zugreifen, und Operationen, die auf den unkritischen Softwareabschnitt zugreifen, ausgeführt werden; und der zweiten Ausführeinrichtung (134 ), auf der Operationen, die sich auf den kritischen Softwareabschnitt zugreifen, zusätzlich ausgeführt werden. - System gemäß Anspruch 4, bei dem Operationen, die auf den unkritischen Softwareabschnitt zugreifen, auch auf der zweiten Ausführeinrichtung (
134 ) ausgeführt werden. - System gemäß Anspruch 4, das auf einer Chipkarte realisiert ist.
- Vorrichtung (
100 ) zum Steuern eines Zugriffs auf einen Speicher (120 ), wobei in einem ersten Segment des Speichers ein kritischer Softwareabschnitt und in einem zweiten Segment des Speichers ein unkritischer Softwareabschnitt speicherbar ist, und bei einer Zugriffsanfrage auf den kritischen Softwareabschnitt eine erste Ausführeinrichtung und eine zweite Ausführeinrichtung aktiv sein müssen und wobei bei einer Zugriffsanfrage auf den unkritischen Softwareabschnitt nur eine der Ausführeinrichtungen aktiv sein muss, mit folgenden Merkmalen: einer Einrichtung zum Empfangen einer Zugriffsanfrage auf den Speicher; einer ersten Einrichtung (102 ) zum Prüfen, ob beide Ausführeinrichtungen (134 ) aktiv sind; einer zweiten Einrichtung (104 ) zum Prüfen, ob die Zugriffsanfrage auf das erste Segment gerichtet ist; und einer Einrichtung (106 ) zum Anzeigen, dass die Zugriffsanfrage auf das erste Segment gerichtet ist und nicht beide Ausführeinrichtungen (134 ) aktiv sind, wobei die Zugriffsanfrage blockiert wird, wenn sie auf das erste Segment gerichtet ist und nicht beide Ausführeinrichtungen aktiv sind. - Vorrichtung (
100 ) gemäß Anspruch 7, mit einer Zugriffseinrichtung zum Zugreifen auf das erste Segment des Speichers, wenn die Zugriffsanfrage auf das erste Segment gerichtet ist und beide Ausführeinrichtungen (134 ) aktiv sind. - Verfahren zum Steuern eines Zugriffs auf einen Speicher, wobei in einem ersten Segment des Speichers ein kritischer Softwareabschnitt und in einem zweiten Segment des Speichers ein unkritischer Softwareabschnitt speicherbar ist, und wobei bei einer Zugriffsanfrage auf den kritischen Softwareabschnitt eine erste Ausführeinrichtung und eine zweite Ausführeinrichtung aktiv sein müssen und wobei bei einer Zugriffsanfrage auf den unkritischen Softwareabschnitt nur eine der Ausführeinrichtungen aktiv sein muss, das folgende Schritte aufweist: Empfangen einer Zugriffsanfrage auf den Speicher; Prüfen (
302 ), ob die Zugriffsanfrage auf das erste Segment gerichtet ist; Prüfen (304 ), ob beide Ausführeinrichtungen aktiv sind; und Blockieren der Zugriffsanfrage, wenn die Zugriffsanfrage auf das erste Segment gerichtet ist und nicht beide Ausführeinrichtungen aktiv sind. - Computerprogramm, das in einem Computer abläuft und dabei ein Verfahren nach Anspruch 9 durchführt.
- Maschinenlesbarer Datenträger, auf dem ein Computerprogramm gespeichert ist, das ein Verfahren nach Anspruch 9 ausführt, wenn es auf einem Computer abläuft.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102006035610A DE102006035610B4 (de) | 2006-07-31 | 2006-07-31 | Speicherzugriffssteuerung und Verfahren zur Speicherzugriffssteuerung |
US11/625,981 US7891556B2 (en) | 2006-07-31 | 2007-01-23 | Memory access controller and method for memory access control |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102006035610A DE102006035610B4 (de) | 2006-07-31 | 2006-07-31 | Speicherzugriffssteuerung und Verfahren zur Speicherzugriffssteuerung |
Publications (2)
Publication Number | Publication Date |
---|---|
DE102006035610A1 DE102006035610A1 (de) | 2008-02-07 |
DE102006035610B4 true DE102006035610B4 (de) | 2012-10-11 |
Family
ID=38884771
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102006035610A Expired - Fee Related DE102006035610B4 (de) | 2006-07-31 | 2006-07-31 | Speicherzugriffssteuerung und Verfahren zur Speicherzugriffssteuerung |
Country Status (2)
Country | Link |
---|---|
US (1) | US7891556B2 (de) |
DE (1) | DE102006035610B4 (de) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200935221A (en) * | 2008-02-13 | 2009-08-16 | Genesys Logic Inc | System for securing an access to flash memory device and method for the same |
US8954696B2 (en) | 2008-06-24 | 2015-02-10 | Nagravision S.A. | Secure memory management system and method |
EP2310976B1 (de) * | 2008-06-24 | 2011-11-02 | Nagravision S.A. | Sicheres speicherverwaltungssystem und verfahren |
EP2202664A1 (de) * | 2008-12-23 | 2010-06-30 | Gemalto SA | Verfahren zum Schutz von Daten während der Ausführung eines Softwarecodes in einer elektronischen Vorrichtung |
EP2461251B1 (de) * | 2010-12-03 | 2017-06-21 | Robert Bosch GmbH | Speicherschutzeinheit und Verfahren zur Steuerung eines Zugangs zu einer Speichervorrichtung |
WO2013077867A1 (en) * | 2011-11-22 | 2013-05-30 | Intel Corporation | Access control for non-volatile random access memory across platform agents |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5905738A (en) * | 1991-05-19 | 1999-05-18 | Texas Instruments Incorporated | Digital bus monitor integrated circuits |
DE68928980T2 (de) * | 1989-11-17 | 1999-08-19 | Texas Instruments Inc | Multiprozessor mit Koordinatenschalter zwischen Prozessoren und Speichern |
DE19532640C2 (de) * | 1995-08-23 | 2000-11-30 | Siemens Ag | Einrichtung zur einkanaligen Übertragung von aus zwei Datenquellen stammenden Daten |
WO2003042834A2 (en) * | 2001-11-14 | 2003-05-22 | Intel Corporation | Memory adapted to provide dedicated and or shared memory to multiple processors and method therefor |
DE102004032237A1 (de) * | 2004-07-02 | 2006-01-26 | Infineon Technologies Ag | Konfiguration von Bauelementen bei einem Übergang von einem Niedrigleistungs-Betriebsmodus in einen Normalleistungs-Betriebsmodus |
US7051131B1 (en) * | 2002-12-27 | 2006-05-23 | Unisys Corporation | Method and apparatus for recording and monitoring bus activity in a multi-processor environment |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7137553B2 (en) * | 2001-12-31 | 2006-11-21 | Digital Data Research Company | Security clearance card, system and method of reading a security clearance card |
-
2006
- 2006-07-31 DE DE102006035610A patent/DE102006035610B4/de not_active Expired - Fee Related
-
2007
- 2007-01-23 US US11/625,981 patent/US7891556B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE68928980T2 (de) * | 1989-11-17 | 1999-08-19 | Texas Instruments Inc | Multiprozessor mit Koordinatenschalter zwischen Prozessoren und Speichern |
US5905738A (en) * | 1991-05-19 | 1999-05-18 | Texas Instruments Incorporated | Digital bus monitor integrated circuits |
DE19532640C2 (de) * | 1995-08-23 | 2000-11-30 | Siemens Ag | Einrichtung zur einkanaligen Übertragung von aus zwei Datenquellen stammenden Daten |
WO2003042834A2 (en) * | 2001-11-14 | 2003-05-22 | Intel Corporation | Memory adapted to provide dedicated and or shared memory to multiple processors and method therefor |
US7051131B1 (en) * | 2002-12-27 | 2006-05-23 | Unisys Corporation | Method and apparatus for recording and monitoring bus activity in a multi-processor environment |
DE102004032237A1 (de) * | 2004-07-02 | 2006-01-26 | Infineon Technologies Ag | Konfiguration von Bauelementen bei einem Übergang von einem Niedrigleistungs-Betriebsmodus in einen Normalleistungs-Betriebsmodus |
Also Published As
Publication number | Publication date |
---|---|
US7891556B2 (en) | 2011-02-22 |
US20080028128A1 (en) | 2008-01-31 |
DE102006035610A1 (de) | 2008-02-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3048365C2 (de) | ||
DE69533312T2 (de) | Geschütztes speichersystem und verfahren dafür | |
EP0011685B1 (de) | Programmierbare Speicherschutzeinrichtung für Mikroprozessorsysteme und Schaltungsanordnung mit einer derartigen Einrichtung | |
DE3700663C2 (de) | ||
DE3586651T2 (de) | Echtzeit-software-monitor und schreibschutzsteuergeraet. | |
DE2629459C2 (de) | ||
DE102006035610B4 (de) | Speicherzugriffssteuerung und Verfahren zur Speicherzugriffssteuerung | |
EP0104635A2 (de) | Verfahren und Anordnung zum Prüfen eines digitalen Rechners | |
EP1326256A2 (de) | Verfahren und Anordnung zur Programmierung und Verifizierung von EEPROM-Pages sowie ein entsprechendes Computerprogrammprodukt und ein entsprechendes computerlesbares Speichermedium | |
DE102007063528A1 (de) | System und Verfahren zum Schützen eines Sicherheitsbereichs eines Systems | |
DE10319585B4 (de) | Manipulationsgeschütztes Datenverarbeitungssystem und zugehöriges Verfahren zum Manipulationsschutz | |
DE2225841B2 (de) | Verfahren und Anordnung zur systematischen Fehlerprüfung eines monolithischen Halbleiterspeichers | |
EP1496420B1 (de) | Sicherheits-Datenverarbeitungseinheit sowie dazugehöriges Verfahren | |
EP0224639A1 (de) | Verfahren zum Kontrollieren eines Speicherzugriffs auf einer Chipkarte und Anordnung zur Durchführung des Verfahrens | |
EP2111586B1 (de) | Ein-chip-computer und tachograph | |
EP3655876B1 (de) | Ein-chip-system, verfahren zum betrieb eines ein-chip-systems und kraftfahrzeug | |
DE3700800C2 (de) | Einrichtung zur Erzeugung eines Unterbrechungspunktes in einem Mikroprozessor | |
EP3566398B1 (de) | Verfahren und halbleiterschaltkreis zum schützen eines betriebssystems eines sicherheitssystems eines fahrzeugs | |
DE10164419A1 (de) | Verfahren und Anordnung zum Schutz von digitalen Schaltungsteilen | |
WO1998041880A2 (de) | Integrierte schaltung und verfahren zum testen der integrierten schaltung | |
EP0890172B1 (de) | Halbleiterspeichervorrichtung | |
DE102009041882B4 (de) | Sichere Speicherschnittstelle, Verfahren zum sicheren Zugreifen auf ein Speicherelement und elektronisches System | |
DE3431770A1 (de) | Verfahren und anordnung zur sicherung von wichtigen informationen in speichereinheiten mit wahlweisem zugriff, insbesondere solchen aus ram-bausteinen | |
EP1748398A2 (de) | System mit wenigstens einer Rechnerplattform und wenigstens einem Benutzertoken | |
EP0613077B1 (de) | Verfahren zur Reset-Erzeugung in Datenverarbeitungsanlagen |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
R016 | Response to examination communication | ||
R018 | Grant decision by examination section/examining division | ||
R082 | Change of representative |
Representative=s name: , |
|
R020 | Patent grant now final |
Effective date: 20130112 |
|
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee |