DE19925195A1 - Verfahren für die sichere Verwaltung eines Speichers - Google Patents
Verfahren für die sichere Verwaltung eines SpeichersInfo
- Publication number
- DE19925195A1 DE19925195A1 DE1999125195 DE19925195A DE19925195A1 DE 19925195 A1 DE19925195 A1 DE 19925195A1 DE 1999125195 DE1999125195 DE 1999125195 DE 19925195 A DE19925195 A DE 19925195A DE 19925195 A1 DE19925195 A1 DE 19925195A1
- Authority
- DE
- Germany
- Prior art keywords
- memory
- access
- attribute
- address
- programs
- 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.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1416—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
- G06F12/1425—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
- G06F12/1441—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a range
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
Die vorliegende Erfindung betrifft ein Verfahren für die sichere Verwaltung eines Speichers, insbesondere die Überwachung von Zugriffen auf in einem Speicher abgelegten Daten oder Programme. DOLLAR A Bekannte Verfahren zur sicheren Verwaltung eines Speichers weisen den Nachteil auf, daß sie entweder direkt von der verwendeten Hardware abhängen, oder daß nicht der gesamte zur Verfügung stehende Speicher in die sichere Verwaltung einbezogen werden kann. DOLLAR A Die vorliegende Erfindung vermeidet diese Nachteile, indem sie für jeden beliebigen Bereich des Speichers, beispielsweise der kleinsten adressierbaren Einheit, Attribute vergibt, wenn Daten oder Programme erstmals in diesen Speicherbereich geschrieben werden, und bei jedem späteren Speicherzugriff überprüft, ob der Zugriff auf diesen Speicherbereich durch die zugreifende Instanz erlaubt ist.
Description
Die vorliegende Erfindung betrifft ein Verfahren für die sichere Verwaltung
eines Speichers, insbesondere die Überwachung von Zugriffen auf in einem
Speicher abgelegte Daten oder Programme.
In bekannten programmgesteuerten elektronischen Rechnern, wie Mikro
computern und Mikrocontrollern, wird die Verwaltung des an den Rechner
angeschlossenen Speichers durch eine sogenannte Memory Management
Unit (MMU) vorgenommen. Diese MMU ist Bestandteil des Rechners und
wird während des Entwurfs des Rechners zusammen mit allen anderen Be
standteilen des Rechners entwickelt. Die MMU ist somit fester Bestandteil
des Rechners und wie alle Bestandteile des Rechners durch die Realisierung
mittels eines Halbleitermaterials festgelegt.
Aus der Festlegung der MMU ergibt sich der Nachteil, daß bei unterschiedli
chen Rechnern unterschiedliche MMUs vorliegen, deren Konzepte hinsicht
lich der Behandlung des zu verwaltenden Speichers stark differieren können.
Ein einheitliches Konzept für eine sichere Verwaltung der Speicherinhalte ist
deshalb nicht anwendbar. Beispielsweise muß bei einer Portierung eines für
einen bestimmten Rechner und seine MMU entwickelten Systems auf einen
anderen Rechner - und damit auf eine andere MMU - das Sicherheitskonzept
überarbeitet und der anderen MMU angepaßt werden. Weitere Nachteile
ergeben sich aus der Tatsache, daß die von bekannten MMUs zur Verfügung
gestellten Zugriffsmechanismen und -bedingungen beschränkt sind und zu
künftige Bedürfnisse nicht berücksichtigt werden können.
Eine andere bekannte Vorgehensweise zur sicheren Verwaltung von Spei
cherinhalten ist die Zurverfügungstellung eines Zugriffsschutzes durch das
Betriebssystem das den Programmablauf des Rechners steuert. Die Verwen
dung des Betriebssystems weist jedoch den Nachteil auf, daß die implemen
tierten Sicherheitsmechanismen nur dort greifen können, wo entsprechende
Strukturen der Kontrolle des Betriebssystems unterworfen sind. Daten und
Programme die nicht in Bereichen des Speichers abgelegt sind, die durch das
Betriebssystem überwacht werden, können folglich nicht geschützt werden.
Dies trifft insbesondere auf nachladbare oder nachgeladen Programme und
Daten zu. Die Problematik der unvollständigen Überwachung durch ein Be
triebssystem entsteht unter anderem dadurch, daß die Überwachung durch
das Betriebssystem auf einer logischen Ebene erfolgt, d. h. es werden Be
rechtigungsattribute überprüft, die einer ganzen Dateien oder einem ganzen
Programm zugeordnet sind, beispielsweise über deren Namen.
Aufgabe der vorliegenden Erfindung ist es deshalb, ein Verfahren anzuge
ben, das die sichere Verwaltung eines Speichers, insbesondere die Überwa
chung des Zugriffs auf in einem Speicher abgelegte Daten oder Programme
ermöglicht, wobei jeder beliebige Teilbereich des Speichers abgesichert wer
den kann, ohne der Einschränkung spezifischer Hardwarelösungen unter
worfen zu sein.
Diese Aufgabe wird erfindungsgemäß durch die Merkmale des Anspruchs 1
gelöst.
Die Erfindung geht dabei von der Überlegung aus, daß für jeden beliebigen
Bereich des Speichers, beispielsweise der kleinsten adressierbaren Einheit,
Attribute vergeben werden, wenn Daten oder Programme in diesen Spei
cherbereich geschrieben werden, und daß bei jedem späteren Speicherzugriff
überprüft wird, ob der Zugriff auf jeden beliebigen Teil dieses Speicherbe
reichs durch die zugreifende Instanz erlaubt ist.
Der Vorteil der Erfindung ist insbesondere darin zu sehen, daß die vorge
schlagene sichere Verwaltung eines Speichers unabhängig von spezifischen
Hardwarelösungen einsetzbar ist. Dadurch ergeben sich Vorteile hinsichtlich
der Übertragbarkeit der verwendeten Sicherungsmechanismen von einer
Hardwarelösung eines Rechners auf eine beliebige andere Hardwarelösung.
Darüber hinaus erfordert die erfindungsgemäße sichere Verwaltung eines
Speichers nur einen geringen zusätzlichen Verwaltungsaufwand und erlaubt
eine flexible Anpassung der verwendeten Sicherungsmechanismen an die
jeweils erforderlichen und zu erzielenden Sicherheitsbedürfnisse.
Weitere Vorteile der vorliegenden Erfindung ergeben sich aus den abhängi
gen Ansprüchen sowie der nachfolgenden Beschreibung eines Ausführungs
beispiels anhand von Figuren.
Es zeigt:
Fig. 1 ein Prinzipschaltbild eines Ausführungsbeispiels eines Speichers zur
Anwendung des erfindungsgemäßen Verfahrens,
Fig. 2 ein erstes Ausführungsbeispiel einer Aufteilung des in Fig. 1 dar
gestellten Speichers in verschiedene Bereiche, und
Fig. 3 ein zweites Ausführungsbeispiel einer Aufteilung des in Fig. 1
dargestellten Speichers in verschiedene Bereiche.
In Fig. 1 ist ein Prinzipschaltbild eines Ausführungsbeispiels eines Spei
chers 12 zur Anwendung des erfindungsgemäßen Verfahrens dargestellt.
Ein Rechner 11, z. B. ein Mikroprozessor oder Mikrocontroller, der für seinen
Betrieb auf den Speicher 12 zugreift, ist mit dem Speicher 12 über einen
Schalter 13 verbunden. Ein Zugriff auf den Speicher 12 - ob zum Lesen oder
Schreiben - ist dem Rechner 11 nur möglich, wenn der Schalter 13 betätigt ist.
Der Schaltzustand des Schalters 13 wird über eine Steuereinrichtung 14, die
mit dem Rechner 11 verbunden ist, gesteuert. Bei einem Zugriff auf den
Speicher 12 durch den Rechner 11 adressiert der Rechner 11 die entspre
chenden Speicherzellen oder Speicherbereiche. Diese Adressen werden über
die Verbindung zwischen Rechner 11 und Steuereinrichtung 14 auch zur
Steuereinrichtung 14 übertragen. Dabei können auch weitere Informationen
mit übertragen werden, beispielsweise welche Instanz, d. h. welches Pro
gramm bzw. welche Anwendung, den Zugriff verursacht oder welcher Art
der Zugriff ist, d. h. Schreib- oder Lesezugriff bzw. die Ausführung, d. h. das
Starten, von Programmen aus dem entsprechenden Speicherbereich heraus.
Mit den vom Rechner 11 übertragenen Adressen, und gegebenenfalls den
weiteren Informationen, überprüft die Steuereinrichtung 14, ob ein Zugriff
auf den adressierten Speicherbereich oder die adressierten Speicherzellen
durch den Rechner 11 erlaubt ist. Ist ein Zugriff nicht erlaubt, wird der Schal
ter 13 nicht durch die Steuereinrichtung 14 betätigt und der Rechner 11 kann
den gewünschten Zugriff nicht durchführen. Wird der Zugriff als berechtigt
eingestuft, wird der Schalter 13 durch die Steuereinrichtung 14 betätigt und
der gewünschte Zugriff kann durchgeführt werden.
Als Kriterium für eine Zugriffsberechtigung wird dem zu schützenden Spei
cherbereich bzw. Speicherzellen des Speichers 12 ein Attribut zugeordnet
und in der Steuereinrichtung 14 abgelegt und verwaltet. Das Attribut kann
dabei direkt in der Verwaltung des Speicherbereichs oder über eine Tabelle
dem jeweiligen Speichersegment zugeordnet sein, falls der Speicher 12 in
Speicherseiten bestimmter Größe segmentiert ist. Der Gesamtbereich des
Speichers 12 kann dabei auch eine Zusammensetzung verschiedener Ein
zelspeicher sein, insbesondere Einzelspeicher unterschiedlicher Speicher
technik, wie EEPROM, ROM, RAM, XRAM usw. Bei jedem Allokationsvor
gang bei dem ein Speicherbereich belegt wird, wird für den jeweiligen Spei
cherbereich ein Attribut, wie obenerwähnt, in die Verwaltung des Speicher
bereichs oder die Tabelle eingetragen. Über das Attribut wird dabei festge
legt, welche Zugriffsbeschränkungen und Zugriffsregeln für den durch das
Attribut beschriebenen Speicherbereich zu beachten sind. Weiterhin kann
das Attribut Informationen wie Gruppengemeinschaften, Zugehörigkeit,
Nutzungsrechte usw. beinhalten. Es bietet außerdem besondere Flexibilität,
da es hinsichtlich der verwendbaren Größe nicht eingeschränkt ist, so daß
auch zu einem späteren Zeitpunkt noch Erweiterungen vorgenommen wer
den können. Bei der Überprüfung der Zugriffsberechtigung durch die Steu
ereinheit 14 wird somit entweder direkt auf das der Adresse zugeordnete
Attribut zugegriffen oder über einen Index der Tabelle auf das der Adresse
in der Tabelle zugeordnete Attribut.
Für den Fall, daß eine Speicherallokation im Speicher 12 über Segmente oder
Seiten mit einer vorgegebenen Größe erfolgt, z. B. 64 Bytes, wird bei der Al
lokation eines jeden Speichersegments ein frei definierbares Attribut zuge
wiesen. Das zugewiesene Attribut wird in einer Tabelle in der Steuereinrich
tung 14, die dafür ausgelegt ist, Informationen über alle Speichersegmente
aufzunehmen, gespeichert. Erfolgt ein Zugriff durch den Rechner 11 auf eine
Speicherzelle eines Speichersegments des Speichers 12, wird der Eintrag für
dieses Speichersegment in der Tabelle überprüft.
Für die Überprüfung eines einem Speichersegment zugeordneten Attributs
oder für seine Eintragung bei der Zuordnung während der Allokation kann
ein entsprechender Index aus der angegebenen Zugriffsadresse ermittelt
werden, der das zugehörige Feld in der Tabelle festlegt.
Die Überprüfung eines Speicherzugriffs auf Berechtigung kann somit bei
einer vorgegebenen Speichersegmentgröße (z. B. 64 Bytes) wie folgt durchge
führt werden:
- 1. Berechnung des Index, wozu von der Zugriffsadresse eine Startadresse subtrahiert wird und das Ergebnis durch die Speichersegmentgröße divi diert wird. Die Startadresse gibt dabei an, ab welcher Adresse der Adress raum des zu schützenden Speichers beginnt. Vom Divisionsergebnis wird der ganzzahlige Teil als Index verwendet, der das Feld der Tabelle angibt, in dem sich das dem entsprechenden Speichersegment zugeordnete Attri but befindet.
- 2. Auslesen des durch den Index festgelegten Felds der Tabelle. Das Attribut steht zur Verfügung.
- 3. Auswerten des Attributs.
- 4. Durchführung oder Abbruch des Zugriffs, abhängig von der Auswertung des Attributs im vorherigen Schritt.
Bei Abbruch des Zugriffs kann ein Hinweis erzeugt werden, daß keine Be
rechtigung vorliegt. Ebenso ist es denkbar, daß bei unberechtigtem Zugriff
Sicherheitsmaßnahmen durchgeführt werden. Beispielsweise kann der Spei
cherinhalt des Speichers 12 ganz oder teilweise (z. B. der Bereich des Spei
chers 12, auf den unberechtigt zugegriffen werden sollte) gelöscht werden
oder der Speicher 12 kann ganz oder teilweise für den Zugriff gesperrt wer
den. Dies kann bei erstmaligem unberechtigten Zugriff erfolgen. Es ist aber
auch möglich, einen Zähler für die unberechtigten Zugriffe zu starten, wobei
nach Erreichen einer vorgebbaren Schwelle, z. B. nach drei unberechtigten
Zugriffen, die beschriebenen Sicherheitsmaßnahmen durchgeführt werden.
Fig. 2 zeigt ein Ausführungsbeispiel einer Aufteilung des in Fig. 1 darge
stellten Speichers 12 in verschiedene Bereiche, d. h. Speichersegmente, mit
vorgegebener Speichersegmentgröße. Die Speichersegmentgröße beträgt 64 Byte.
Der Speicher 12 ist in n+1 Speichersegmente 0, 1, 2, . . . n aufgeteilt, die
Startadresse des Speichers 12, also des Speichers der sicher verwaltet werden
soll, beginnt bei der Adresse 8000H. Das erste Speichersegment 0 belegt
demnach die Bytes 8000H bis 803FH. Die Adressierung wird im vorliegen
den Fall im Hexadezimalsystem vorgenommen, wie dies für die Program
mierung von Mikrocomputern und Mikorcontrollern sowie deren Speicher
üblich ist. Zur Kennzeichnung wird den Adressen deshalb der Buchstabe "H"
hinzugefügt.
Dem Speichersegment 0, also dem Speicherbereich von 8000H bis 803FH,
wurde bei einer erstmaligen Allokation, d. h. als Daten oder Programme
erstmals durch den Rechner 11 in den Speicher 12 geschrieben wurden, das
Attribut 0F1H zugeordnet, wie aus der in Fig. 2 dargestellten Tabelle 14
ersichtlich. Wie oben beschrieben, ist die Tabelle Bestandteil der Steuerein
richtung 14. Das Attribut 0F1H kann beispielsweise bedeuten, daß alle An
wendungen, d. h. Programme die durch den Rechner 11 ausgeführt werden,
auf diesen Speicherbereich nur lesend zugreifen dürfen. Wie oben beschrie
ben, kann abweichend von der dargestellten Codierung des Attributs, im
vorliegenden Beispiel mittels einem Byte, eine andere Codierung vorge
nommen werden, die größer oder kleiner als ein Byte ist.
Für das Speichersegment 1, also den Speicherbereich von 8040H bis 807FH,
wurde das Attribut 012H in die Tabelle der Steuereinrichtung 14 eingetra
gen, das beispielsweise die Bedeutung haben kann, daß auf das Speicher
segment 1 eine Anwendung A, z. B. ein ausführbares Programm, zugreifen
darf und den Speicherbereich von 8040H bis 807FH sowohl lesen als auch
beschreiben kann: Für andere Anwendungen ist das Speichersegment 1 ge
sperrt.
Für das Speichersegment 2, also den Speicherbereich von 8080H bis 811FH,
wurde das Attribut 021H eingetragen, das beispielsweise die Bedeutung ha
ben kann, daß auf das Speichersegment 2 ein Anwendung B, z. B. ein aus
führbares Programm, zugreifen darf und den Speicherbereich von 8080H bis
811FH lesen kann. Für andere Anwendungen ist das Speichersegment 2 voll
ständig gesperrt, für die Anwendung B hinsichtlich eines Schreibzugriffs.
Für den Rest des Speichers 12, der noch nicht allokiert wurde, d. h. noch kei
ner Anwendung zugeordnet wurde, ist wie für das Speichersegment n dar
gestellt, das Attribut mit dem Wert 000H eingetragen. Das Attribut 000H
kann beispielsweise die Bedeutung haben, daß keine Anwendung auf diesen
Bereich des Speichers 12 zugreifen darf. Der Zugriff kann beispielsweise nur
durch ein besonderes Programm ermöglicht werden, das dazu verwendet
wird, neue Anwendungen in den Speicher 12 zu laden. Dieses besondere
Programm kann z. B. auch dazu verwendet werden, bestehende Anwendun
gen, d. h. Daten oder Programme, zu überschreiben, ungeachtet des Attri
buts, das für die Bereiche des Speichers vergeben worden ist, in denen sich
die zu überschreibenden Anwendungen befinden. Ebenso kann das beson
dere Programm dazu verwendet werden, die oben beschriebenen Sicher
heitsmaßnahmen aufzuheben.
Verursacht die Anwendung A während der Programmausführung bei
spielsweise einen Lesezugriff auf die Adresse 8050H, wird nach der oben
beschriebenen Überprüfung des Speicherzugriffs von der Zugriffsadresse die
Startadresse subtrahiert. Dazu wird die Zugriffsadresse und die Zugriffsart,
also Lesen, vom Rechner an den Speicher 12 und an die Steuereinrichtung 14
übertragen. Im in Fig. 2 dargestellten Beispiel wird also von der Steuerein
richtung 14 berechnet: 8050H - 8000H = 50H. Das Ergebnis der Subtraktion
wird durch die vorgegebene Speichersegmentgröße ganzzahlig dividiert,
also 50H/40H = 1 und bildet den Index für das in der Tabelle der Steuer
einheit 14 enthaltene Attribut, das überprüft werden muß, also 012H. Die
Überprüfung des Attributs 012H durch die Steuereinrichtung 14 ergibt, daß
für die Anwendung A Lesen und Schreiben für die Zugriffsadresse 8050H
erlaubt ist. Die Steuereinheit 14 betätigt Schalter 13 und erlaubt dem Rechner
11 den Inhalt der Zugriffsadresse 8050H zu lesen.
Verursacht die Anwendung A jedoch einen Schreibzugriff auf die Zugriffs
adresse 8090H, so ergibt sich bei der Überprüfung: 8090H - 8000H = 90H,
90H/40H = 2, Inhalt der Tabelle der Steuereinrichtung 14 mit Index 2:
021H, gleichbedeutend mit Lesezugriffsberechtigung für Anwendung B.
Somit wird von der Steuereinrichtung 14 ein unberechtigter Zugriff festge
stellt, der Schalter 13 wird nicht betätigt, der Zugriff kann nicht erfolgen.
Statt dessen können die oben beschriebenen Vorgehensweisen, wie Warn
hinweis oder Sperrung des Rechners 11 und/oder Speichers 12, von der
Steuereinrichtung 14 veranlaßt werden.
Ist die Verwaltung des Speichers 12 nicht, wie oben beschrieben, für Spei
chersegmente ausgelegt, d. h. der Speicher 12 ist nicht in Speichersegmente
vorgegebener Größe unterteilt, welche die kleinste Verwaltungseinheit bil
den, wird ein vom oben beschriebenen Verfahren abweichendes Verfahren
zur sicheren Speicherverwaltung verwendet. Dabei ist es prinzipiell möglich,
jeder Speicherzelle, z. B. jedem Byte, ein Attribut zuzuordnen oder Blöcke
von Speicherzellen zu bilden, wobei für jeden Block ein Attribut vergeben
wird.
Wie in Fig. 3 dargestellt, belegt ein erster Block 0 den Speicherbereich von
8000H bis 803FH des Speichers 12, der Block 1 den Speicherbereich von
8040H bis 8070H, Block 2 den Speicherbereich von 8071H bis 8125H usw. In
einer Tabelle, die Bestandteil der Steuereinrichtung 14 ist, wird den Blöcken
ihre Anfangs- und Endadresse sowie ein Attribut zugeordnet. Es muß an
gemerkt werden, daß auf die Vergabe von Blocknummern, wie im Beispiel
der Fig. 3 dargestellt, verzichtet werden kann, da eine eindeutige Zuord
nung der Attribute zu den jeweiligen Blöcken über die Anfangs- und End
adressen der Blöcke möglich ist. Ebenso ist es denkbar nur die Anfangs- oder
nur die Endadresse eines jeden Blocks zu speichern und die Attribute diesen
Anfangs- oder Endadressen zuzuordnen. Die Überprüfung der Zugriffsbe
rechtigung ist dann direkt über einen Vergleich der Zugriffsadresse mit den
Anfangs- bzw. Endadressen möglich, mit den oben beschriebenen Auswir
kungen.
Vorstehend wurde das Verfahren zur sicheren Verwaltung des Speichers 12
anhand einer Hardwarelösung, bestehend aus dem Schalter 13 und der Steu
ereinrichtung 14, beschrieben. Es ist aber offensichtlich, daß eine sichere
Verwaltung des Speichers auch mit einer Softwarelösung möglich ist. Schal
ter 13 und Steuereinrichtung 14 werden dabei mittels des Rechners 11 und
des Speicher 12 selbst realisiert. Insbesondere enthält der Speicher 12 einen
besonderen Bereich zur Speicherung der Attribute bzw. der Tabelle der At
tribute. Dieser Bereich unterliegt besonderem Schutz und nur das die Reali
sierung von Schalter 13 und Steuereinrichtung 14 bildende Programm, bzw.
das oben erwähnte besondere Programm, das zur ersten Allokation von
Speicher verwendet wird, wenn beispielsweise eine neue Anwendung in den
Speicher 12 übernommen wird, sind berechtigt auf diesen besonderen Be
reich zuzugreifen. Zur Überprüfung kann die vorstehend beschriebene Vor
gehensweise genutzt werden. Somit überprüft der Rechner 11 selbst vor je
dem Zugriff auf den Speicher 12, ob dieser Zugriff bzw. das zugreifende
Programm oder die zugreifende Anwendung entsprechend berechtigt sind.
Die vorstehend geschilderte sichere Verwaltung von Speicher ist besonders
für sicherheitsrelevante Gebiete von Interesse. Ein mögliches Einsatzgebiet
stellen Chipkarten dar.
Chipkarten enthalten einen Chip, der mindestens einen Speicher, in der Re
gel jedoch einen Mikroprozessor oder Mikrocontroller mit zugehörigem
Speicher aufweisen. Da derartige Chipkarten in besonders sicherheitsrele
vanten Gebieten wie Zahlungsverkehr oder für Zugangskontrollsysteme
verwendet werden, ist die Manipulationssicherheit der im Speicher der
Chipkarten gespeicherten Daten und Programme von besonderer Bedeu
tung.
Soll eine Chipkarte für mehrere Anwendungen gleichzeitig verwendet wer
den können, weist das beschriebene Verfahren für die sichere Verwaltung
des Speichers besondere Vorzüge auf. Zum einen können auch zu einem
späteren Zeitpunkt Anwendungen nachträglich in den Speicher der Chip
karte hinzugefügt werden, wobei die sichere Verwaltung des Speichers stets
gegeben ist, zum anderen kann eine einmal entworfene Anwendung für alle
Typen von Chipkarten verwendet werden, da das vorgeschlagene Verfahren
zur sicheren Verwaltung des Speichers unabhängig von den vorgegebenen
Hardwarestrukturen der Chipkarten ist.
Weitere Vorteile ergeben sich, weil der Speicher der Chipkarte nur von ei
nem besonderen Programm erstmalig beschrieben werden kann, wie oben
erläutert, wodurch zusätzliche Anwendungen nur in den Speicher der Chip
karte geladen werden können, wenn dieses besondere Programm verwendet
wird. Um Mißbrauch zu verhindern, können die besonderen Programme
beispielsweise nur bei den die Chipkarten ausgebenden Organisationen wie
Banken zur Verfügung stehen.
Außderdem kann es vorgesehen sein, daß die besonderen Programme die
nachzuladenden Programme oder Daten daraufhin überprüfen, ob diese un
berechtigte Speicherzugriffe oder andere nicht erlaubte Operationen durch
führen. Ebenso kann es vorgesehen sein, daß die besonderen Programme
bereits überprüfte Daten oder Programme auf Authentizität überprüfen, bei
spielsweise durch die Überprüfung einer elektronischen Signatur, die den
bereits überprüften Daten oder Programmen nach der vorherigen Überprü
fung hinzugefügt wird.
Claims (8)
1. Verfahren für die sichere Verwaltung eines Speichers, insbesondere die
Überwachung von Zugriffen auf in einem Speicher abgelegte Daten oder
Programme, mit nachfolgenden Schritten:
Zuordnen eines Attributs zu jeder Speichereinheit des Speichers, das den Zugriff auf die Speichereinheit regelt, wobei das Attribut einer Spei cheradresse der Speichereinheit zugeordnet wird,
Überprüfen des Attributs bei jedem Zugriff auf jede beliebige Speicherein heit durch Überprüfen des Attributs, das der Speicheradresse der Spei chereinheit zugeordnet ist und der Adresse des Zugriffs entspricht,
Durchführen des Zugriffs auf die durch die Adresse des Zugriffs bestimmte Speichereinheit, falls das Attribut den Zugriff erlaubt, und
Verhinderung des Zugriffs auf die durch die Adresse des Zugriffs bestimmte Speichereinheit, falls das Attribut den Zugriff nicht erlaubt.
Zuordnen eines Attributs zu jeder Speichereinheit des Speichers, das den Zugriff auf die Speichereinheit regelt, wobei das Attribut einer Spei cheradresse der Speichereinheit zugeordnet wird,
Überprüfen des Attributs bei jedem Zugriff auf jede beliebige Speicherein heit durch Überprüfen des Attributs, das der Speicheradresse der Spei chereinheit zugeordnet ist und der Adresse des Zugriffs entspricht,
Durchführen des Zugriffs auf die durch die Adresse des Zugriffs bestimmte Speichereinheit, falls das Attribut den Zugriff erlaubt, und
Verhinderung des Zugriffs auf die durch die Adresse des Zugriffs bestimmte Speichereinheit, falls das Attribut den Zugriff nicht erlaubt.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß die Attribute
Angaben über die erlaubte Art des Zugriffs enthalten, insbesondere Lesen
oder Schreiben der entsprechenden Speichereinheit sowie Ausführen oder
Starten von Programmen aus der entsprechenden Speichereinheit.
3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß die At
tribute Angaben darüber enthalten, welcher Instanz ein Zugriff auf die be
zeichneten Speichereinheiten erlaubt ist.
4. Verfahren nach Anspruch 3, dadurch gekennzeichnet, daß die zugreifen
den Instanzen den im Speicher gespeicherten Programmen entsprechen.
5. Verfahren nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet,
daß die Speichereinheiten binären Informationen entsprechen.
6. Verfahren nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet,
daß die Speichereinheiten einem Byte entsprechen.
7. Verfahren nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet,
daß mehrere Speichereinheiten zusammengefaßt werden, wobei den jeweils
zusammengefaßten Speichereinheiten ein gemeinsames Attribut zugeordnet
ist.
8. Chipkarte mit mindestens einem Speicher, dadurch gekennzeichnet, daß
der Speicher mittels eines der Verfahren 1 bis 7 verwaltet wird.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE1999125195 DE19925195A1 (de) | 1999-06-01 | 1999-06-01 | Verfahren für die sichere Verwaltung eines Speichers |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE1999125195 DE19925195A1 (de) | 1999-06-01 | 1999-06-01 | Verfahren für die sichere Verwaltung eines Speichers |
Publications (1)
Publication Number | Publication Date |
---|---|
DE19925195A1 true DE19925195A1 (de) | 2000-12-07 |
Family
ID=7909960
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE1999125195 Withdrawn DE19925195A1 (de) | 1999-06-01 | 1999-06-01 | Verfahren für die sichere Verwaltung eines Speichers |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE19925195A1 (de) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002063463A3 (de) * | 2001-02-06 | 2003-02-06 | Infineon Technologies Ag | Mikroprozessorschaltung für datenträger und verfahren zum organisieren des zugriffs auf in einem speicher abgelegten daten |
EP1347384A2 (de) * | 2002-03-20 | 2003-09-24 | Kabushiki Kaisha Toshiba | Betrugssicherer Mikroprozessor mit internem Speicher und mit Geheimschutzfunktion |
DE10339212A1 (de) * | 2003-08-26 | 2005-03-31 | Infineon Technologies Ag | Datenübertragungssystem und Verfahren zum Betreiben eines Datenübertragungssystems |
EP1742152A1 (de) * | 2005-07-07 | 2007-01-10 | Texas Instruments Inc. | Verfahren und System für eine mehrfach nutzbare Speicherzugangsbeschränkung |
EP1764721A2 (de) * | 2005-09-15 | 2007-03-21 | NTT DoCoMo INC. | Vorrichtung und Verfahren zur Zugriffskontrolle auf einen externen Speicher |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19522050A1 (de) * | 1995-06-17 | 1996-12-19 | Uestra Hannoversche Verkehrsbe | Speicherkarte |
-
1999
- 1999-06-01 DE DE1999125195 patent/DE19925195A1/de not_active Withdrawn
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19522050A1 (de) * | 1995-06-17 | 1996-12-19 | Uestra Hannoversche Verkehrsbe | Speicherkarte |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002063463A3 (de) * | 2001-02-06 | 2003-02-06 | Infineon Technologies Ag | Mikroprozessorschaltung für datenträger und verfahren zum organisieren des zugriffs auf in einem speicher abgelegten daten |
US7260690B2 (en) | 2001-02-06 | 2007-08-21 | Infineon Technologies Ag | Microprocessor circuit for data carriers and method for organizing access to data stored in a memory |
EP1347384A2 (de) * | 2002-03-20 | 2003-09-24 | Kabushiki Kaisha Toshiba | Betrugssicherer Mikroprozessor mit internem Speicher und mit Geheimschutzfunktion |
EP1347384A3 (de) * | 2002-03-20 | 2004-08-11 | Kabushiki Kaisha Toshiba | Betrugssicherer Mikroprozessor mit internem Speicher und mit Geheimschutzfunktion |
US7219369B2 (en) | 2002-03-20 | 2007-05-15 | Kabushiki Kaisha Toshiba | Internal memory type tamper resistant microprocessor with secret protection function |
DE10339212A1 (de) * | 2003-08-26 | 2005-03-31 | Infineon Technologies Ag | Datenübertragungssystem und Verfahren zum Betreiben eines Datenübertragungssystems |
EP1742152A1 (de) * | 2005-07-07 | 2007-01-10 | Texas Instruments Inc. | Verfahren und System für eine mehrfach nutzbare Speicherzugangsbeschränkung |
US7853997B2 (en) | 2005-07-07 | 2010-12-14 | Texas Instruments Incorporated | Method and system for a multi-sharing security firewall |
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 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3048365C2 (de) | ||
DE102005022893B3 (de) | Verfahren zum Zugreifen auf Speicherbereiche einer Speicherkarte durch eine anfordernde Anwendung und Speicherkarte | |
EP0128362B1 (de) | Schaltungsanordnung mit einem Speicher und einer Zugriffskontrolleinheit | |
DE19536169A1 (de) | Multifunktionale Chipkarte | |
DE19626337C2 (de) | Verarbeitung langer Nachrichten in einer Prozessorkarte | |
DE2801518A1 (de) | Datenverarbeitungssystem mit speicher-schutzeinrichtung | |
EP0280035B1 (de) | Verfahren zum Sichern von Programmen und zur Integritätskontrolle gesicherter Programme | |
DE19925195A1 (de) | Verfahren für die sichere Verwaltung eines Speichers | |
DE19939280A1 (de) | Sicheres Personalisieren von Chipkarten | |
DE10002203B4 (de) | Verfahren zum Schutz eines Mikrorechner-Systems gegen Manipulation von in einer Speicheranordnung des Mikrorechner-Systems gespeicherten Daten | |
DE19626339A1 (de) | Sicheres Laden von Anwendungen und Daten auf Chipkarten | |
WO2005029402A2 (de) | Prozessorschaltung und verfahren zum zuordnen eines logikchips zu einem speicherchip | |
WO2004114131A1 (de) | Verfahren zum nachladen einer software in den bootsektor eines programmierbaren lesespeicher | |
DE60017438T2 (de) | System zur betriebsmittelzugriffsteuerung | |
DE3025044A1 (de) | Vorrichtung fuer den schutz des zugangs zu einem dauerspeicher bei einer datenverarbeitungsanlage | |
EP1338970A2 (de) | Verfahren und Anordnung zur Zugriffssteuerung auf EEPROMs sowie ein entsprechendes Computerprogrammprodukt und ein entsprechendes computerlesbares Speichermedium | |
WO2015197544A1 (de) | Verfahren und schaltkreis zur vermeidung von speicherschutzverletzungen | |
WO2010089083A2 (de) | Vorrichtung und verfahren zum verhindern von unautorisierter verwendung und/oder manipulation von software | |
DE19709975C2 (de) | Mikrocomputer | |
DE19612439C2 (de) | Halbleiterspeichervorrichtung | |
EP2524333A1 (de) | Verfahren zum bereitstellen eines sicheren zählers auf einem endgerät | |
EP1927870B1 (de) | Tragbarer Datenträger | |
DE112017008201T5 (de) | Informationsverarbeitungsvorrichtung, Informationsverarbeitungsverfahren und Informationsverarbeitungsprogramm | |
WO2023217412A1 (de) | Secure element mit heap-speicher | |
DE10315763A1 (de) | Mikroprozessoranordnung und Verfahren zur Verwaltung von Zugriffen auf in einem Speicher abgelegte Daten oder Programme |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OM8 | Search report available as to paragraph 43 lit. 1 sentence 1 patent law | ||
8139 | Disposal/non-payment of the annual fee |