DE102006035610B4 - Speicherzugriffssteuerung und Verfahren zur Speicherzugriffssteuerung - Google Patents

Speicherzugriffssteuerung und Verfahren zur Speicherzugriffssteuerung Download PDF

Info

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
Application number
DE102006035610A
Other languages
English (en)
Other versions
DE102006035610A1 (de
Inventor
Dr. Rüping Stefan
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Infineon Technologies AG
Original Assignee
Infineon Technologies AG
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Infineon Technologies AG filed Critical Infineon Technologies AG
Priority to DE102006035610A priority Critical patent/DE102006035610B4/de
Priority to US11/625,981 priority patent/US7891556B2/en
Publication of DE102006035610A1 publication Critical patent/DE102006035610A1/de
Application granted granted Critical
Publication of DE102006035610B4 publication Critical patent/DE102006035610B4/de
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection 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/1425Protection 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/1433Protection 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1491Protection 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring 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/53Monitoring 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting 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/6227Protecting 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting 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/77Protecting 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • G06F21/85Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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 Speicherzugriffssteuerung 100 gemäß einem Ausführungsbeispiel der vorliegenden Erfindung. Die Speicherzugriffssteuerung 100 weist einen ersten Prüfer 102 und einen zweiten Prüfer 104, eine Steuereinheit 106 auf. Die Speicherzugriffssteuerung 100 ist mit einem Speicher 120 sowie einer ersten Ausführeinrichtung 132 und einer zweiten Ausführeinrichtung 134 gekoppelt.
  • Gemäß dem in 1 gezeigten Ausführungsbeispiel ist die Speicherzugriffssteuerung 100 mit der ersten Ausführeinrichtung 132 sowie der zweiten Ausführeinrichtung 134 verbunden, um von diesen eine Zugriffsanfrage zu empfangen. Die Zugriffsanfrage kann beispielsweise eine virtuelle Speicheradresse enthalten. Ferner ist die Speicherzugriffssteuerung 100 mit dem Speicher 120 verbunden, um einen Speicherzugriff durchzuführen. Der Speicherzugriff kann eine physikalische Adresse des Speichers 120 beinhalten. Die Speicherzugriffssteuerung 100 ist ausgebildet, um die Zugriffsanfrage der Ausführeinrichtungen 132, 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 Speicher 120 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ühreinrichtung 132 als auch die zweite Ausführeinrichtung 134 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ühreinrichtung 132 oder nur auf der zweiten Ausführeinrichtung 134 ausgeführt werden. Es ist auch möglich, sicherheitsunkritische Softwareabschnitte auf beiden Ausführeinrichtungen 132, 134 auszuführen. Sicherheitskritische Softwareabschnitte werden dagegen immer auf beiden Ausführeinrichtungen 132, 134 ausgeführt. Der Speicher 120 ist in Segmente unterteilt. In 1 ist beispielhaft ein Segment 1 und ein Segment 2 gezeigt. Gemäß diesem Ausführungsbeispiel ist ein sicherheitskritischer Abschnitt der Software im Segment 1 und ein sicherheitsunkritischer Abschnitt der Software im Segment 2 gespeichert. Zur Segmentierung des Speichers 120 können bekannte Segmentierungsmechanismen eingesetzt werden. Dabei können kritische Software-Abschnitte in beliebigen Segmenten des Speichers 120 gespeichert sein.
  • Die Speicherzugriffssteuerung 100 ist ausgebildet, um die Zugriffsanfrage über eine zweite Schnittstelle zu empfangen. Ferner weist der erste Prüfer 102 einen Eingang zum Empfangen der Zugriffsanfrage auf. Der erste Prüfer 102 ist ausgebildet, um zu prüfen, auf welches Segment des Speichers 120 die Zugriffsanfrage gerichtet ist. Über einen Ausgang kann der erste Prüfer 102 ein erstes Prüfsignal ausgeben, das anzeigt, auf welches Segment des Speichers 120 die Zugriffsanfrage gerichtet ist. Gemäß diesem Ausführungsbeispiel kann der erste Prüfer 102 insbesondere anzeigen, ob die Zugriffsanfrage auf das Segment des Speichers 120 gerichtet ist, in dem der sicherheitskritische Abschnitt der Software gespeichert ist. Ist die Zugriffsanfrage auf das Segment 1 des Speichers 120 gerichtet, in dem der sicherheitskritische Softwareabschnitt gespeichert ist, so sollten bereits beide Ausführeinrichtungen 132, 134 aktiviert sein.
  • Der zweite Prüfer 104 ist ausgebildet, um zu prüfen, ob beide Ausführeinrichtungen 132, 134 aktiv sind. Dies kann beispielsweise durch Auslesen eines Prüfbits erfolgen, das anzeigt, ob die Ausführeinrichtungen 132, 134 aktiv sind. Beispielsweise kann das Prüfbit immer dann gesetzt sein, wenn beide Ausführeinrichtungen 132, 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ühreinrichtungen 132, 134 aktiv sind.
  • Die Steuereinheit 106 ist ausgebildet, um das erste Prüfsignal und das zweite Prüfsignal zu empfangen. Dazu weist die Steuereinheit 106 entsprechende Eingänge für das erste und zweite Prüfsignal auf. Ferner weist die Steuereinheit 106 einen Ausgang zum Ausgeben eines Alarmsignals auf. Das Alarmsignal zeigt an, dass die Zugriffsanfrage auf das Segment 1 des Speichers 120 gerichtet ist, in dem der sicherheitskritische Softwareabschnitt gespeichert ist, und dass nicht sowohl die erste Ausführeinrichtung 132 als auch die zweite Ausführeinrichtung 134 aktiv ist. Das Alarmsignal kann von dem in 1 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ühreinrichtungen 132, 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 Speicher 120 um einen ROM-, einen RAM-Speicher oder einen NVM-Speicher (NVM = non volatile memory) und bei den Ausführeinrichtungen 132, 134 um aufgedoppelte Teile einer CPU handeln. Die Speicherzugriffssteuerung 100 kann über Adressbusse mit dem Speicher 120 sowie den Ausführeinrichtungen 132, 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 Steuereinheit 106 gemäß einem Ausführungsbeispiel der vorliegenden Erfindung. Die Steuereinheit 106 weist Deskriptoren 262, 264 auf. Bei den Deskriptoren 262, 264 kann es sich um Registersätze handeln, wie sie in herkömmlichen Memory Management Units verwendet werden. Typischerweise ist jedem Segment des Speichers 120 ein Deskriptor zugeordnet. Gemäß diesem Ausführungsbeispiel ist dem Segment 1 der Deskriptor 262 und dem Segment 2 der Deskriptor 264 zugeordnet. Beispielsweise können die Deskriptoren 262, 264 Angaben über die physikalische Basisadresse, die Länge und die Zugriffsrechte des zugehörigen Segments enthalten. Somit ist mit Hilfe der Deskriptoren 262, 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-Bits 265, 267 auf. Ist solch ein Hoch-Sicherheits-Modus-Bit 265, 267 gesetzt, so kann ein Speicherzugriff auf das dazugehörige Segment nur erfolgen, wenn beide Ausführeinrichtungen 132, 134 aktiv sind.
  • Gemäß einem alternativen Ausführungsbeispiel können die Hoch-Sicherheits-Modus-Bits 265, 267 eingesetzt werden, um die Ausführeinrichtungen 132, 134 zu aktivieren. Dies könnte beispielsweise dann erforderlich sein, wenn eine Zugriffsanfrage auf ein Segment des Speichers 120 erfolgt, in dem sicherheitskritische Softwareabschnitte gespeichert sind und bisher nur eine der Ausführeinrichtungen 132, 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 Schritt 302, 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 Schritt 304 ü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)

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. System gemäß Anspruch 4, bei dem Operationen, die auf den unkritischen Softwareabschnitt zugreifen, auch auf der zweiten Ausführeinrichtung (134) ausgeführt werden.
  6. System gemäß Anspruch 4, das auf einer Chipkarte realisiert ist.
  7. 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.
  8. 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.
  9. 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.
  10. Computerprogramm, das in einem Computer abläuft und dabei ein Verfahren nach Anspruch 9 durchführt.
  11. Maschinenlesbarer Datenträger, auf dem ein Computerprogramm gespeichert ist, das ein Verfahren nach Anspruch 9 ausführt, wenn es auf einem Computer abläuft.
DE102006035610A 2006-07-31 2006-07-31 Speicherzugriffssteuerung und Verfahren zur Speicherzugriffssteuerung Expired - Fee Related DE102006035610B4 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (6)

* Cited by examiner, † Cited by third party
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