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 PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07F—COIN-FREED OR LIKE APPARATUS
- G07F7/00—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
- G07F7/08—Mechanisms 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/10—Mechanisms 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/1008—Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
-
- 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/1483—Protection against unauthorised use of memory or access to memory by checking the subject access rights using an access-table, e.g. matrix or list
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/34—Payment 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/341—Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/34—Payment 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/357—Cards having a plurality of specified features
- G06Q20/3576—Multiple memory zones on card
- G06Q20/35765—Access 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 bis3c 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 den3a bis3c getroffenen Zuordnungen. -
1 zeigt beispielhaft die Aufteilung eines Speicherbereichs1 . In dem Speicherbereich1 sind drei Programme A, B und C in den Adressräumen11 ,12 und13 abgelegt. In der vorliegenden1 beinhaltet das Programm A einen Bereich111 , der lediglich Befehls-Code beinhaltet und der mit Code A gekennzeichnet ist. Dieser kann mehrere voneinander unabhängige Funktionen A1, A2 in den Bereichen112 ,113 beinhalten. Diese Funktionen A1, A2 können sich gegenseitig aufrufen. Weiterhin beinhaltet das Programm A beispielhaft Daten A im Bereich114 , 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 Bereich121 mit Code B und ein Bereich122 mit Daten B sowie für das Programm C lediglich ein Bereich131 mit Code C und ein Bereich132 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 Bereich131 bzw. Bereich141 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äume11 ,12 ,13 können Zugriffsrechte für einzelne Adressräume11 ,12 ,13 selektiv gruppiert werden. Dies bedeutet beispielsweise, daß eine Zuordnung der Bereiche112 ,122 und132 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 TLB2 . Für jede kleinste adressierbare Einheit oder einen Adressraum11 ,12 ,13 erfolgt eine Zuordnung der Attribute und Gruppenattribute, die die Zugriffsrechte festlegen. Erfindungsgemäß existieren im TLB2 drei Rechtefelder21 ,22 und23 , die einem Adressraum11 ,12 ,13 im Feld24 zugeordnet sind. Das Feld12 enthält ein Attribut für intra-package-Zugriffe, das Feld13 ein Attribut für die inter-package-Zugriffe und das Feld14 ein Gruppenattribut, wobei die Attribute weitere Zugriffsrechte für Lesen, Schreiben und Ausführen beinhalten. Die Definition einer Gruppe erfolgt innerhalb des TLB's2 ü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 bis3c sind Ausführungsbeispiele für die Zuordnung von Adressräumen11 ,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 TLB2 abgespeichert oder hardwaremäßig implementiert werden kann. - Im einfachsten Fall wird, wie in der Verwaltungseinheit
3 der3a dargestellt, einem Adressraum11 genau ein weiterer Adressraum12 zugeordnet, so daß diese beiden Adressräume11 ,12 eine Gruppe mit identischem Zugriffsrecht für inter-package-Zugriffe bilden. Flexibler sind jedoch die in den3b und3c dargestellten Ausführungsbeispiele, in denen gemäß3b in der Verwaltungseinheit4 die Adressräume11 ,12 ,13 zu genau einer Gruppe G1, G2 zugeordnet sind und in der3c in der Verwaltungseinheit5 die Adressräume11 ,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äumen11 ,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 Adressraums11 ,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 Adressraums11 ,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 in4 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)
- 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. - Mikroprozessoranordnung nach Anspruch 1, dadurch gekennzeichnet, daß dem Adressraum (
11 ,12 ,13 ) des Speicherbereichs (1 ) mehrere Gruppenattribute zugeordnet sind. - 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. - 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. - Mikroprozessoranordnung nach Anspruch 1, dadurch gekennzeichnet, daß die die Zugriffsrechte festlegenden Attribute und Gruppenattribute in den Mitteln der Mikroprozessoranordnung abgelegt sind.
- 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. - Mikroprozessoranordnung nach Anspruch 1, dadurch gekennzeichnet, daß die Anzahl der Gruppenattribute der Anzahl der Gruppen entspricht.
- Mikroprozessoranordnung nach Anspruch 6, dadurch gekennzeichnet, daß die in den Mitteln abgelegten Gruppenattribute einer Gruppennummer (G1, G2, G3) zugeordnet sind.
- Mikroprozessoranordnung nach Anspruch 1, dadurch gekennzeichnet, daß die Zuordnung eines Gruppenattributs zu einem Adressraum (
11 ,12 ,13 ) in den Mitteln als Bitmaske realisiert ist. - 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. - 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.
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)
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)
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 |
-
2003
- 2003-04-07 DE DE2003115763 patent/DE10315763A1/de not_active Ceased
Patent Citations (1)
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)
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 |