DE19925195A1 - Verfahren für die sichere Verwaltung eines Speichers - Google Patents

Verfahren für die sichere Verwaltung eines Speichers

Info

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
Application number
DE1999125195
Other languages
English (en)
Inventor
Werner Nes
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.)
Giesecke and Devrient GmbH
Original Assignee
Giesecke and Devrient GmbH
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 Giesecke and Devrient GmbH filed Critical Giesecke and Devrient GmbH
Priority to DE1999125195 priority Critical patent/DE19925195A1/de
Publication of DE19925195A1 publication Critical patent/DE19925195A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/1425Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
    • G06F12/1441Protection 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.
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.
DE1999125195 1999-06-01 1999-06-01 Verfahren für die sichere Verwaltung eines Speichers Withdrawn DE19925195A1 (de)

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)

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

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19522050A1 (de) * 1995-06-17 1996-12-19 Uestra Hannoversche Verkehrsbe Speicherkarte

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19522050A1 (de) * 1995-06-17 1996-12-19 Uestra Hannoversche Verkehrsbe Speicherkarte

Cited By (11)

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