DE10315763A1 - Mikroprozessoranordnung und Verfahren zur Verwaltung von Zugriffen auf in einem Speicher abgelegte Daten oder Programme - Google Patents

Mikroprozessoranordnung und Verfahren zur Verwaltung von Zugriffen auf in einem Speicher abgelegte Daten oder Programme Download PDF

Info

Publication number
DE10315763A1
DE10315763A1 DE2003115763 DE10315763A DE10315763A1 DE 10315763 A1 DE10315763 A1 DE 10315763A1 DE 2003115763 DE2003115763 DE 2003115763 DE 10315763 A DE10315763 A DE 10315763A DE 10315763 A1 DE10315763 A1 DE 10315763A1
Authority
DE
Germany
Prior art keywords
group
assigned
address
access
attributes
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.)
Ceased
Application number
DE2003115763
Other languages
English (en)
Inventor
Gerd Dirscherl
Berndt M. Dr. Gammel
Michael Smola
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 DE2003115763 priority Critical patent/DE10315763A1/de
Publication of DE10315763A1 publication Critical patent/DE10315763A1/de
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/10Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
    • G07F7/1008Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
    • 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/1483Protection against unauthorised use of memory or access to memory by checking the subject access rights using an access-table, e.g. matrix or list
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/341Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/357Cards having a plurality of specified features
    • G06Q20/3576Multiple memory zones on card
    • G06Q20/35765Access rights to memory zones

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Accounting & Taxation (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Storage Device Security (AREA)

Abstract

Die vorliegende Erfindung betrifft eine Mikroprozessoranordnung zur Verwaltung von Zugriffen auf in einem Speicher abgelegte Daten oder Programme, mit wenigstens einem Mikroprozessor, einem Speicher, der einen Speicherbereich (1) mit Adressräumen (11, 12, 13) aufweist, die sowohl der freien Programmierung mit Programmen (A, B, C) als auch der Ablage von Daten (A, B, C) und Objekten dienen, wobei jedem Adressraum (11, 12, 13) Attribute zugeordnet sind und mit Mitteln, die eine Auswertung der den Adressräumen (11, 12, 13) des Speicherbereichs (1) für Programme (A, B, C) zugewiesene Attribute zur Steuerung der Zugriffsrechte der jeweiligen Programme (A, B, C) vornehmen, wobei jedem Adressraum (11, 12, 13) bzw. einer Adresse des Adressraums (11, 12, 13) des Speicherbereichs (1) ein Gruppenattribut zugeordnet ist, das die Adressräume (11, 12, 13) des Speicherbereichs (1) gruppiert und die Zugriffsrechte der den Adressräumen (11, 12, 13) einer Gruppe zugeordneten Programme (A, B, C) auf alle die der Gruppe zugeordneten Adressräume (11, 12, 13) des Speicherbereichs (1) festlegt.

Description

  • Die vorliegende Erfindung betrifft eine Mikroprozessoranordnung sowie ein Verfahren zur Verwaltung von Zugriffen auf in einem Speicher abgelegte Daten oder Programme, mit wenigstens einem Mikroprozessor, einem Speicher, der einen Speicherbereich mit Adressräumen aufweist, die sowohl der freien Programmierung mit Programmen als auch der Ablage von Daten und Objekten dienen, wobei jedem Adressraum Attribute zugeordnet sind und mit Mitteln, die eine Auswertung der den Adressräumen der Speicherbereiche für Programme zugewiesene Attribute zur Steuerung der Zugriffsrechte der jeweiligen Fremdprogramme vornehmen.
  • Mikroprozessoranordnungen, die sicherheitsrelevante Informationen verarbeiten, wie zum Beispiel Smart Card Controller, die in Ausweiskarten, Kreditkarten, Buchungskarten und dergleichen eingesetzt werden, erlauben eine umfangreiche Datenverarbeitung in der Karte selbst.
  • Einer der wesentlichen Vorteile einer Mikroprozessoranordnung in einer solchen Smart Card besteht zum Beispiel in der vielfältigen Verwendungsmöglichkeit durch den Karteninhaber. Der Kartenhersteller stattet die Mikroprozessoranordnungen mit einem fest gespeicherten Betriebssystem aus, welches grundlegende Funktionen, beispielsweise einen Vergleich eines extern eingegebenen Codes mit einem gespeicherten Code, übernimmt. Die zum Mikrocontroller gehörigen Speicher dienen außer zur Abspeicherung des Betriebssystems auch zur Abspeicherung von Fremdprogrammen und den Fremdprogrammen, im nachfolgenden als Programme bezeichnet, zugeordnete Daten und Objekte. Der Kartenhersteller stellt somit für den Anwender, daß heißt beispielsweise für die die Karten ausgebende Organisation, einen Speicherbereich zur Einprogrammierung ihres Programms bzw. ihrer Applikation, zur Verfügung.
  • Da weiterhin nicht nur eine einzige Organisation ihr Programm in der Chipkarte ablegen, sondern auch mehrere unterschiedliche Organisationen ihre entsprechenden Programme auf der Chipkarte abspeichern können, muß in der Regel dafür Sorge getragen werden, daß die Bestandteile des Betriebssystems oder die einzelnen Programme vor unberechtigten Zugriffen geschützt werden.
  • Aufgrund des begrenzten Speicherbereichs auf einer Chipkarte ist es sinnvoll, eine Speicherorganisation vorzusehen, die es erlaubt, daß ein Programm einen Programmteil eines anderen Programms aufruft. Hierbei können sich die Programme in einem logischen Adressbereich befinden und in einem Adressraum des Adressbereichs sowohl Code als auch Daten eines Programms abgelegt sein. Der Code selbst kann aus einer Mehrzahl an Programmteilen, den Bibliotheken oder Funktionen, bestehen, so daß ein Programm A eine Bibliothek des Programms B im gleichen Adressraum aufrufen kann. Eine softwarebasierende Verwaltung für beispielsweise lesende, schreibende oder ausführende Rechte auf die Programmteile kann durch das Betriebssystem über den Programmteilen zugeordnete Berechtigungsattribute erfolgen. Dies kann jedoch nur für Programmteile, die der Überwachung des Betriebssystems unterworfen sind, erfolgen. Daten und Funktionen, die nicht in Speicherbereichen abgelegt sind, die durch das Betriebssystem überwacht werden, können folglich vor unberechtigten Zugriffen nicht geschützt werden.
  • In bekannten Mikroprozessoranordnungen wird die Verwaltung der Speicherbereiche eines Arbeitsspeichers durch Speichermanagement Mittel, die üblicherweise als auch als Memory Management Unit (MMU) bezeichnet werden, vorgenommen. Die MMU erweitert den physikalischen Arbeitsspeicher um einen virtuellen Arbeitsspeicher, übersetzt virtuelle Adressen in physika lische Adressen und kontrolliert die Zugriffsrechte mittels einer Kontrollogik, einem Translation Lookaside Buffer (TLB) und einer Übersetzungstabelle.
  • Als Kriterium für eine Zugriffsberechtigung ist dem zu schützenden Adressraum oder einer einzelnen Adresse des Adressraums des Speicherbereichs ein Attribut zugeordnet, so daß bei jedem Speicherzugriff überprüft werden kann, ob und in welcher Art ein Zugriff durch das zugreifende Programm auf diese Adresse ermöglicht ist. Diese Funktion ist als hardwaremäßige Unterstützung des Betriebssystems in der MMU implementiert.
  • Aus der US 4,890,223 ist eine MMU bekannt, in der ein Rechtemodell implementiert ist, in dem nur die Rechte "Zugriff erlaubt" oder "Zugriff nicht erlaubt" implementiert sind oder die Zugriffsrechte für Lese- und Schreibzugriffe getrennt vergeben werden.
  • Nachteilig an diesem Vorgehen ist, daß grundsätzlich der Zugriff auf die Bibliothek eines Programms erlaubt ist oder nicht erlaubt ist. Eine selektive Rechtevergabe für eine Gruppe von zugreifenden Programmen auf ein Programmteil oder Daten ist jedoch nicht möglich.
  • Aufgabe der vorliegenden Erfindung ist es, eine Anordnung sowie ein Verfahren anzugeben, die bzw. das eine selktive Vergabe von Zugriffsrechten auf Adressräume für zugreifende Programme ermöglicht und existierende Sicherheitsmodelle moderner Betriebssysteme effizient unterstützt und beschleunigt.
  • Erfindungsgemäß wird diese Aufgabe dadurch gelöst, daß jedem Adressraum oder einer Adresse des Adressraums des Speicherbereichs ein Gruppenattribut zugeordnet ist, das Adressräume von Speicherbereichen gruppiert und die Zugriffsrechte der den Adressräumen einer Gruppe zugeordneten Programme auf alle die der Gruppe zugeordneten Adressräume des Speicherbereichs festlegt.
  • Die Erfindung sieht einen Hardware-Mechanismus vor, der eine Gruppierung von Adressenräumen oder Adressen eines Adressraums erlaubt, so daß die Programme, Daten und Objekte aufweisenden Adressräume einer Gruppe zugeordnet sind und Programme gleiche Zugriffsrechte auf die der Gruppe zugeordneten Adressräume haben. Es wird eine direkte Kommunikation der Programme untereinander ermöglicht, ohne daß eine Kontrolle durch das Betriebssystem notwendig ist. Für die Adressräume in einer Gruppe können die Zugriffsrechte Lesen, Schreiben oder Ausführen selektiv vergeben werden, so daß eine sehr flexible und beliebige Gruppierung erfolgen kann.
  • In einer vorteilhaften Ausgestaltung der Erfindung werden einer Adresse oder einem Adressraum mehrere Gruppenattribute zugeordnet. Anders formuliert bedeutet dies, daß beispielsweise ein Programm A der Gruppe 1 angehört und lesende Rechte auf die Daten eines Adressraums beitzt, während ein Programm B der Gruppe 2 angehört und ausführende Rechte auf die Funktionen in diesem Adressraum besitzt.
  • Somit kann die bisherige dem Stand der Technik entsprechende Implementierung der einem Adressraum oder einer Adresse eines Speicherbereichs zugeordneten Attribute mit einem ersten Zugriffsrecht, welches den Zugriff eines aus diesem Adressraum zugreifenden Programmteils festlegt und einem zweiten Zugriffsrecht, welches die Zugriffe von Programmen weiterer Adressräume auf diesen Adressraum einheitlich regelt, beibehalten werden. Die Einführung eines Gruppenattributs mit jeweiligen Zugriffsrechten ermöglicht eine höhere Granularität in der Vergabe der Zugriffsrechte für einzelne Programmteile weiterer Adressräume. Einem Programm A können auf diese Weise auf einen Adressraum mehr Zugriffsrechte eingeräumt werden als einem Programm B.
  • Vorteilhaft werden die Gruppenattribute innerhalb der Mikroprozessoranordnung abgelegt und als Zugriffstabelle in Form eines Caches bzw. TLB realisiert, indem auch die Rechteüberprüfung durchgeführt wird.
  • Besonders vorteilhaft für eine Hardware Implementierung ist die Festlegung einer Bitmaske zur Definition einer Gruppe, indem beispielsweise führende Bits eines Adressraums mit einer definierten Maske verknüpft werden. Adressiert ein Programmteil einen Adressraum erfolgt eine Sicherheitsabfrage, indem die Bitmasken verglichen werden und bei einer Übereinstimmung ein Zugriff erlaubt wird.
  • Das erfindungsgemäße Verfahren verdeutlicht die Ausgestaltung oben beschriebener Mikroprozessoranordnung. Bei dem Verfahren werden Programmteilen selektiv Zugriffsrechte auf Adressräume zugeordnet, indem eine Gruppierung von Adressräumen erfolgt, so daß beim Zugriff eines Programms auf einen Adressraum ermittelt wird, ob der Adressraum, in dem das Programm abgelegt ist als auch der Adressraum, auf den das Programm zugreift eine übereinstimmende Gruppennummer aufweisen. Stimmen die Gruppennummern nicht überein, liegt eine Verletzung der Privilegien des zugreifenden Programms vor. Ein Zugriff wird verweigert, was typischerweise zur Ausführung einer Ausnahmeroutine führt.
  • Anhand der nachfolgenden Figuren wird die Erfindung und deren Vorteile weiter erläutert werden. Es zeigen:
  • 1 die Aufteilung eines Speicherbereichs mit drei Programmen A, B und C,
  • 2 ein Ausführungsbeispiel eines Zugriffsattribute beinhaltenden Eintrags eines TLB's,
  • 3a bis 3c Ausführungsbeispiele für die Zuordnung von Adressräumen zu Gruppen und
  • 4 Ausführungsbeispiele für die hardwaremäßige Implementierung einer Bitmaske der in den 3a bis 3c getroffenen Zuordnungen.
  • 1 zeigt beispielhaft die Aufteilung eines Speicherbereichs 1. In dem Speicherbereich 1 sind drei Programme A, B und C in den Adressräumen 11, 12 und 13 abgelegt. In der vorliegenden 1 beinhaltet das Programm A einen Bereich 111, der lediglich Befehls-Code beinhaltet und der mit Code A gekennzeichnet ist. Dieser kann mehrere voneinander unabhängige Funktionen A1, A2 in den Bereichen 112, 113 beinhalten. Diese Funktionen A1, A2 können sich gegenseitig aufrufen. Weiterhin beinhaltet das Programm A beispielhaft Daten A im Bereich 114, der flüchtige oder permanente Daten beinhalten kann. Sämtliche in dem Programm A befindliche Daten A können von dem Befehlscode A beziehungsweise den Funktionen A1, A2 vollständig verwaltet und kontrolliert werden.
  • In entsprechender Weise ist das Programm B und C aufgebaut, wobei in der vorliegenden 1 beispielhaft für das Programm B lediglich ein Bereich 121 mit Code B und ein Bereich 122 mit Daten B sowie für das Programm C lediglich ein Bereich 131 mit Code C und ein Bereich 132 mit Daten C dargestellt ist. Analog zur Ausführung zum Programm A können sich die im Programm B bzw. Programm C befindlichen Funktionen gegenseitig aufrufen und die in Bereich 131 bzw. Bereich 141 abgelegten Daten B und Daten C verwalten und kontrollieren.
  • Die im nachfolgenden beschriebene Rechteverwaltung ist auf Adressräume begrenzt, jedoch immer auch auf die kleinste adressierbare Einheit eines Adressraums anwendbar.
  • Einem Adressraum 11, 12, 13 zugeordnete Attribute regeln beispielsweise den Zugriff eines gerade ausgeführten Befehls eines Programms A auf die Daten A des Programms A, im nachfolgenden intra-package-Zugriff genannt, und die Zugriffsrechte weiterer Programme B und C auf die Funktionen A1 und A2 und Daten A des Programms A, im nachfolgenden inter-package-Zugriffe genannt. Bei einem inter-package-Zugriff kann entweder den Zugriff verweigern oder erlaubt werden und dabei den DatenA Lese- und/oder Schreibrechte und den Funktionen A1, A2 ausführende Rechte zugeordnet sein. Durch die erfindungsgemäße Einführung einer Gruppierung der Adressräume 11, 12, 13 können Zugriffsrechte für einzelne Adressräume 11, 12, 13 selektiv gruppiert werden. Dies bedeutet beispielsweise, daß eine Zuordnung der Bereiche 112, 122 und 132 in die gleiche Gruppe eine Steuerung beliebiger Zugriffsrechte der Funktion A1 des Programms A auf die Daten B und Daten C des Programms B und des Programms C ermöglicht. Somit erlaubt das Programm B und das Programm C selektiv einer Funktion A1 des Programs A einen Zugriff auf ihre Daten B und Daten C.
  • 2 zeigt ein Ausführungsbeispiel eines Zugriffsrechte beinhaltenden Eintrags in einem TLB 2. Für jede kleinste adressierbare Einheit oder einen Adressraum 11, 12, 13 erfolgt eine Zuordnung der Attribute und Gruppenattribute, die die Zugriffsrechte festlegen. Erfindungsgemäß existieren im TLB 2 drei Rechtefelder 21, 22 und 23, die einem Adressraum 11, 12, 13 im Feld 24 zugeordnet sind. Das Feld 12 enthält ein Attribut für intra-package-Zugriffe, das Feld 13 ein Attribut für die inter-package-Zugriffe und das Feld 14 ein Gruppenattribut, wobei die Attribute weitere Zugriffsrechte für Lesen, Schreiben und Ausführen beinhalten. Die Definition einer Gruppe erfolgt innerhalb des TLB's 2 über eine Gruppennummer oder kann, wie später weiter ausgeführt, als Bitmaske definiert und hardwaremäßig in einer MMU implementiert werden.
  • In den 3a bis 3c sind Ausführungsbeispiele für die Zuordnung von Adressräumen 11, 12, 13 zu Gruppen aufgezeigt. Eine Gruppe wird definiert durch eine Zuordnung von adressierbaren Einheiten zu einer Gruppennummer, wobei die Zuordnung im nachfolgenden als Verwaltungseinheit (VE) bezeichnet wird und als Tabelle im TLB 2 abgespeichert oder hardwaremäßig implementiert werden kann.
  • Im einfachsten Fall wird, wie in der Verwaltungseinheit 3 der 3a dargestellt, einem Adressraum 11 genau ein weiterer Adressraum 12 zugeordnet, so daß diese beiden Adressräume 11, 12 eine Gruppe mit identischem Zugriffsrecht für inter-package-Zugriffe bilden. Flexibler sind jedoch die in den 3b und 3c dargestellten Ausführungsbeispiele, in denen gemäß 3b in der Verwaltungseinheit 4 die Adressräume 11, 12, 13 zu genau einer Gruppe G1, G2 zugeordnet sind und in der 3c in der Verwaltungseinheit 5 die Adressräume 11, 12, 13 mehreren Gruppen G1, G2, G3 zugeordnet sind.
  • Vorteilhaft für eine Hardware-Realisierung ist eine Implementierung der Verwaltungseinheit 3, 4, 5 in Form einer Tabelle von Bitmasken, in der die Zuordnung von Adressräumen 11, 12, 13 zu einer Gruppe G1, G2, G3 als Bitmaske verknüpft ist. Die Bitmaske kann beispielsweise durch arithmetische Verknüpfung der führenden Bits eines Adressraums 11, 12, 13 mit einer entsprechenden als Bitmuster erzeugten Gruppennummer erzielt werden:
    AE(i) AND GN(AE(i))
    wobei "AE(i)" die führenden Bits eines Adressraums und
    "GN(AE(i))" die Gruppennummer zu diesem Adressraum darstellen.
  • Für jeden Zugriff auf Adressräume 11, 12, 13 eines Speicherbereichs werden die Bitmasken des gerade ausgeführten Befehls mit der Bitmaske des adressierten Adressraums 11, 12, 13 ver glichen. Der Vergleich kann beispielsweise als arithmetische "XOR" Verknüpfung implementiert werden. Stimmen die Bitmasken überein, wird ein Zugriff gewährt.
  • Es gibt beliebige Möglichkeiten die Bitmaske auszuführen. Anstatt jeden adressierbaren Adressraum mit einem Gruppenattribut zu verknüpfen, kann beispielsweise einer Anfangs- und Enddresse eines Speicherblocks ein Gruppenattribut zugeordnet und als Bitmaske hinterlegt werden, so daß für alle Adressen in diesem Bereich gleiche Zugriffsrechte gelten.
  • Über das Gruppenattribut wird festgelegt, welche Zugriffsbeschränkungen und Zugriffsregeln für die durch das Attribut beschriebenen der Gruppe G1, G2, G3 zugehörigen Adressräume 11, 12, 13 zu beachten sind. Das Gruppenattribut klassifiziert Zugriffsrechte wie Lesen, Schreiben und Ausführen, bietet aber auch die Flexibilität weitere Erweiterungen von Zugriffsrechten aufzunehmen. Die einzelnen Zugriffsrechte eines Gruppenattributs können wahlweise als Bitmaske für einzelne Zugriffsrechte oder als Gruppen-Bitmaske mit identischen Zugriffsrechten für Lesen, Schreiben und Ausführen in der Verwltungseinheit, wie in 4 dargestellt, implementiert werden.
  • Die vorgeschlagene Anordnung sowie das Verfahren ermöglichen eine beliebige Granularität in der Vergabe von Zugriffsrechten. Auf diese Weise können Speicherbereiche aufgebaut werden, in denen ein Adressraum einer Gruppe von Adressräumen Ausführungsrechte erteilt, einer anderen Gruppe von Adressräumen lediglich Leserechte zugesteht.

Claims (11)

  1. Mikroprozessoranordnung zur Verwaltung von Zugriffen auf in einem Speicher abgelegte Daten oder Programme, mit wenigstens einem Mikroprozessor, einem Speicher, der einen Speicherbereich (1) mit Adressräumen (11, 12, 13) aufweist, die sowohl der freien Programmierung mit Programmen (A, B, C) als auch der Ablage von Daten (A, B, C) und Objekten dienen, wobei jedem Adressraum (11, 12, 13) Attribute zugeordnet sind und mit Mitteln, die eine Auswertung der den Adressräumen (11, 12, 13) des Speicherbereichs (1) für Programme (A, B, C) zugewiesene Attribute zur Steuerung der Zugriffsrechte der jeweiligen Programme (A, B, C) vornehmen, dadurch gekennzeichnet, daß jedem Adressraum (11, 12, 13) bzw. einer Adresse des Adressraums (11, 12, 13) des Speicherbereichs (1) ein Gruppenattribut zugeordnet ist, das die Adressräume (11, 12, 13) des Speicherbereichs (1) gruppiert und die Zugriffsrechte der den Adressräumen (11, 12, 13) einer Gruppe zugeordneten Programme (A, B, C) auf alle die der Gruppe zugeordneten Adressräume (11, 12, 13) des Speicherbereichs (1) festlegt.
  2. Mikroprozessoranordnung nach Anspruch 1, dadurch gekennzeichnet, daß dem Adressraum (11, 12, 13) des Speicherbereichs (1) mehrere Gruppenattribute zugeordnet sind.
  3. Mikroprozessoranordnung nach Anspruch 1, dadurch gekennzeichnet, daß die den Adressräumen (11, 12, 13) einer Gruppe zugeordneten Programme (A, B, C) übereinstimmende Zugriffsrechte auf alle die der Gruppe zugeordnete Adressräume (11, 12, 13) des Speicherbereichs (1) aufweisen.
  4. Mikroprozessoranordnung nach Anspruch 1, dadurch gekennzeichnet, daß die dem Adressraum (11, 12, 13) des Speicherbereichs (1) zugeordneten Attribute ein erstes und ein zweites Zugriffsrecht beinhalten, wobei das erste Zugriffsrecht den Zugriff des dem Adressraum (11, 12, 13) des Speicherbereichs (1) zugeordneten Programms (A, B, C) und das zweite Zugriffsrecht den Zugriff der den weiteren Adressräumen (11, 12, 13) des Speicherbereichs (1) zugeordneten Programme (A, B, C) auf diesen Adressraum (11, 12, 13) regelt.
  5. Mikroprozessoranordnung nach Anspruch 1, dadurch gekennzeichnet, daß die die Zugriffsrechte festlegenden Attribute und Gruppenattribute in den Mitteln der Mikroprozessoranordnung abgelegt sind.
  6. Mikroprozessoranordnung nach Anspruch 1, dadurch gekennzeichnet, daß die Mittel einen Zwischenspeicher, insbesondere ein TLB (2) (Translation Lookaside Buffer) aufweisen, in dem die Attribute und Gruppenattribute abgelegt sind und der eine Zuordnung der Attribute und Gruppenattribute zu den Adressräumen (11, 12, 13) oder der Adresse eines Adressraums (11, 12, 13) vornimmt.
  7. Mikroprozessoranordnung nach Anspruch 1, dadurch gekennzeichnet, daß die Anzahl der Gruppenattribute der Anzahl der Gruppen entspricht.
  8. Mikroprozessoranordnung nach Anspruch 6, dadurch gekennzeichnet, daß die in den Mitteln abgelegten Gruppenattribute einer Gruppennummer (G1, G2, G3) zugeordnet sind.
  9. Mikroprozessoranordnung nach Anspruch 1, dadurch gekennzeichnet, daß die Zuordnung eines Gruppenattributs zu einem Adressraum (11, 12, 13) in den Mitteln als Bitmaske realisiert ist.
  10. Verfahren zur Verwaltung von Zugriffen auf in einem Speicher abgelegte Daten oder Programme, mit wenigstens einem Mikroprozessor, einem Speicher, der einen Speicherbereich (1) mit Adressräumen (11, 12, 13) aufweist, die sowohl der freien Programmierung mit Programmen (A, B, C) als auch der Ablage von Daten (A, B, C) und Objekten dienen, wobei jedem Adressraum (11, 12, 13) Attribute zugeordnet sind und mit Mitteln, die eine Auswertung der den Adressräumen (11, 12, 13) des Speicherbereichs (1) für Programme (A, B, C) zugewiesene Attribute zur Steuerung der Zugriffsrechte der jeweiligen Programme (A, B, C) vornehmen, wobei – zur Gruppierung von Adressräumen (11, 12, 13) jedem Adressraum (11, 12, 13) oder einer Adresse des Adressraums (11, 12, 13) eine Gruppenattribute definierende Gruppennummer (G1, G2, G3) zugeordnet ist, – beim Zugriff eines Programms (A, B, C) auf einen Adressraum (11, 12, 13) eine Ermittlung der dem Adressraum (11, 12, 13) des Programms (A, B, C) zugeordneten Gruppennummer (G1, G2, G3) und der Gruppennummer (G1, G2, G3) des adressierten Adressraums (11, 12, 13) erfolgt, – ein Vergleich der ermittelten Gruppennummer (G1, G2, G3) durchgeführt wird, – ein Zugriff erlaubt wird, wenn die Gruppennummern (G1, G2, G3) übereinstimmen und – eine Ausnahmeroutine aufgerufen wird, wenn die Gruppennummern (G1, G2, G3) nicht übereinstimmen.
  11. Verfahren nach Anspruch 10, dadurch gekennzeichnet, daß bei Übereinstimmung der Gruppennumer (G1, G2, G3) eine Auswertung der den Gruppennummern (G1, G2, G3) zugeordneten Gruppenattribute erfolgt.
DE2003115763 2003-04-07 2003-04-07 Mikroprozessoranordnung und Verfahren zur Verwaltung von Zugriffen auf in einem Speicher abgelegte Daten oder Programme Ceased DE10315763A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE2003115763 DE10315763A1 (de) 2003-04-07 2003-04-07 Mikroprozessoranordnung und Verfahren zur Verwaltung von Zugriffen auf in einem Speicher abgelegte Daten oder Programme

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE2003115763 DE10315763A1 (de) 2003-04-07 2003-04-07 Mikroprozessoranordnung und Verfahren zur Verwaltung von Zugriffen auf in einem Speicher abgelegte Daten oder Programme

Publications (1)

Publication Number Publication Date
DE10315763A1 true DE10315763A1 (de) 2004-11-18

Family

ID=33304803

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2003115763 Ceased DE10315763A1 (de) 2003-04-07 2003-04-07 Mikroprozessoranordnung und Verfahren zur Verwaltung von Zugriffen auf in einem Speicher abgelegte Daten oder Programme

Country Status (1)

Country Link
DE (1) DE10315763A1 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1764721A2 (de) * 2005-09-15 2007-03-21 NTT DoCoMo INC. Vorrichtung und Verfahren zur Zugriffskontrolle auf einen externen Speicher
EP3945437A1 (de) * 2020-07-28 2022-02-02 MediaTek Inc. Verfahren und system zur verbesserung der effizienz des schutzes eines mehrfachinhaltsverfahrens

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0472487A2 (de) * 1990-08-21 1992-02-26 International Business Machines Corporation Gerät und Verfahren zur Steuerung von Zugriff auf Daten mit Hilfe von Domänen

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0472487A2 (de) * 1990-08-21 1992-02-26 International Business Machines Corporation Gerät und Verfahren zur Steuerung von Zugriff auf Daten mit Hilfe von Domänen

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1764721A2 (de) * 2005-09-15 2007-03-21 NTT DoCoMo INC. Vorrichtung und Verfahren zur Zugriffskontrolle auf einen externen Speicher
EP1764721A3 (de) * 2005-09-15 2007-12-05 NTT DoCoMo INC. Vorrichtung und Verfahren zur Zugriffskontrolle auf einen externen Speicher
US8132262B2 (en) 2005-09-15 2012-03-06 Ntt Docomo, Inc. External memory management apparatus and external memory management method
EP3945437A1 (de) * 2020-07-28 2022-02-02 MediaTek Inc. Verfahren und system zur verbesserung der effizienz des schutzes eines mehrfachinhaltsverfahrens

Similar Documents

Publication Publication Date Title
DE3689569T2 (de) Verfahren zur Systemdateiensicherung und Datenverarbeitungseinheit zu dessen Durchführung.
DE3851038T2 (de) Zugriff auf einen geschützten Speicher.
DE68923863T2 (de) Ein-/Ausgabecachespeicherung.
EP0766211A2 (de) Multifunktionale Chipkarte
DE3606211A1 (de) Multiprozessor-computersystem
EP1192548A1 (de) Verfahren zum zugriff auf einen speicher und speichereinrichtung hierfür
EP1358558B1 (de) Mikroprozessorschaltung für datenträger und verfahren zum organisieren des zugriffs auf in einem speicher abgelegten daten
EP0128362A1 (de) Schaltungsanordnung mit einem Speicher und einer Zugriffskontrolleinheit
EP1326256A2 (de) Verfahren und Anordnung zur Programmierung und Verifizierung von EEPROM-Pages sowie ein entsprechendes Computerprogrammprodukt und ein entsprechendes computerlesbares Speichermedium
DE10324337B4 (de) Rechnersystem und zugehöriges Verfahren zum Durchführen eines Sicherheitsprogramms
EP0224639A1 (de) Verfahren zum Kontrollieren eines Speicherzugriffs auf einer Chipkarte und Anordnung zur Durchführung des Verfahrens
DE102018114322A1 (de) Architektur und Dienste zur Unterstützung der rekonfigurierbaren Synchronisation in einem Multiprozessorsystem
DE10023820A1 (de) Software-Schutzmechanismus
EP1352318B1 (de) Mikroprozessorschaltung für tragbare datenträger
EP1658575B1 (de) Datenübertragungssystem und verfahren zum betreiben eines datenübertragungssystems
DE19804784A1 (de) Chipkarte mit integrierter Schaltung
DE102015214424A1 (de) Verfahren und Vorrichtung zum Kommunizieren zwischen virtuellen Maschinen
DE10315763A1 (de) Mikroprozessoranordnung und Verfahren zur Verwaltung von Zugriffen auf in einem Speicher abgelegte Daten oder Programme
DE102013016114B3 (de) Bussystem und Verfahren für geschützte Speicherzugriffe
DE19709975C2 (de) Mikrocomputer
DE68924557T2 (de) Seitentabellen in einem virtuellen Speicher.
DE10127194B4 (de) Verfahren und Vorrichtung zum Ausblenden von nicht funktionstüchtigen Speicherzellen
DE102005056357A1 (de) Multithreading-fähige virtuelle Maschine
DE10110808B4 (de) Verarbeitungssystem
DE102019215298A1 (de) Verfahren, Computerprogramm, Speichermedium, Speichermittel und System zur Nutzung eines gemeinsam genutzten Speichermittels

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8131 Rejection