-
TECHNISCHES GEBIET
-
Die
vorliegende Erfindung betrifft eine Halbleiter-Speicherkarte, die
Daten in Dateien speichern kann, und insbesondere betrifft die vorliegende
Erfindung ein Verfahren zum Löschen
von Dateien.
-
Hintergrund der Technik
-
Halbleiter-Speicherkarten,
wie beispielsweise eine IC-Karte (Integrated-Circuit-Karte) und
eine SD-Speicherkarte (Secure Digital Memory Card – Sichere
digitale Speicherkarte) wurden versuchsweise in verschiedenen Industrien
eingeführt,
angefangen von den Massenmedien einschließlich den Rundfunk- und Verlagsindustrien
bis zu finanziellen Einrichtungen sowie Regierungs- und lokal agierenden Organisationen.
Die Halbleiter-Speicherkarten haben in diesen Industriezweigen aufgrund
ihrer enormen Vorteile für
Begeisterung gesorgt. In einer Halbleiter-Speicherkarte werden Daten
in einer Schichtenstruktur verwaltet, die eine physikalische Schicht, eine
Dateisystemschicht, und eine Anwendungsschicht aufweist. Dementsprechend
kann ein Benutzer eine Datei auf einer Halbleiter-Speicherkarte
erstellen und die erstellte Datei mit derselben Vorgehensweise wie
die zum Löschen
einer auf einem Computer gespeicherten Datei löschen.
-
Das
Löschen
einer Datei auf einer herkömmlichen
Halbleiter-Speicherkarte umfasst lediglich das Überschreiben von Verwaltungsinformationen,
die eine Dateizuordnungstabelle (FAT – file allocation table), die
die Verbindungsbeziehungen zwischen Dateifragmenten und einem Dateieintrag
anzeigt, enthalten. Der Grund dafür wird im Folgenden genannt. Wenn
Verwaltungsinformationen für
eine Datei überschrieben
werden, gehen die Positionen der Fragmente, die ein Dateiobjekt
auf einer Halbleiter-Speicherkarte
bilden, verloren, und die Verbindungsbeziehungen zwischen den Fragmenten,
die mit Unterbrechung auf einer Halbleiter-Speicherkarte positioniert
sind, werden zerstört.
Dadurch wird das Lesen der Dateien unmöglich.
-
Die
Datenverwaltung durch ein Dateisystem auf einer herkömmlichen
Halbleiter-Speicherkarte wird
in der
japanischen Offenlegungsschrift
Nr. 2001-188701 , in dem
USamerikanischen
Patent Nr. 5.479.638 und in dem
Japanischen Patent Nr. 3389186 beschrieben.
-
Das
Dokument
US 6507911 offenbart
ein Speichersystem, bei dem in Reaktion auf einen Löschbefehl
zusätzlich
zum Markieren einer Datei als gelöschte Datei in einer Dateizuordnungstabelle
die Datei auch physisch gelöscht
wird, um die Wiederherstellung von Dateidaten zu verhindern.
-
In Übereinstimmung
mit dem voranstehend beschriebenen Verfahren zum Löschen von
Dateien werden eine Dateizuordnungstabelle FAT (file allocation
table) und ein Dateieintrag überschrieben.
Das Dateiobjekt einer gelöschten
Datei sowie Fragmente, die das Dateiobjekt bilden, bleiben jedoch
immer noch mit Unterbrechung auf einer Halbleiter-Speicherkarte vorhanden.
Wenn solch eine gelöschte
Datei Daten enthält,
die sich auf Geldtransaktionen beziehen, besteht die Gefahr, dass
Bankkontonummern und Bankkartennummern aus einzelnen Fragmenten ausgelesen
werden.
-
Darüber hinaus
kann ein Dritter eine gelöschte
Datei wiederherstellen, indem die unterbrochenen Fragmente auf einer
Halbleiter-Speicherkarte verfolgt werden, um die Inhalte der Datei
zu erhalten, die hätten
gelöscht
werden müssen.
-
Es
besteht jedoch ein Grund dafür,
dass das Löschen
von Dateien lediglich das Überschreiben von
Verwaltungsinformationen, wie beispielsweise eine Dateizuordnungstabelle
FAT und ein Dateieintrag umfasst. Der Grund besteht in der Verarbeitungszeit,
die für
das Überschreiben
erforderlich ist. In Übereinstimmung
mit einer versuchsweisen Berechnung dauert es 2 Millisekunden, um
512 Bates zu überschreiben,
es dauert 4 Sekunden, um 1 Megabyte zu überschreiben, und es dauert
40 Sekunden, um 10 Megabytes zu überschreiben.
Dies ist ein Anzeichen dafür,
dass eine gewisse Zeit erforderlich ist, um einen vollständigen Löschvorgang
durchzuführen,
das heißt,
um ein Dateiobjekt einer Datei so zu überschreiben, dass das Lesen
der Datei absolut unmöglich
wird. Darüber
hinaus stellt ein solcher vollständiger
Löschvorgang
ein Problem dahingehend dar, dass Daten, die die Positionen von
Fragmenten, die eine gelöschte
Datei bilden, gespeichert werden sollten. Wenn Daten, die Positionen
anzeigen, ebenso wie die Fragmente, in einem nicht flüchtigen
Speicher gespeichert werden, kann ein Dritter die Positionen der
Fragmente möglicherweise
lesen, bevor ein vollständiger
Löschvorgang
abgeschlossen ist. Dementsprechend werden die Informationen über eine Datei,
die gelöscht
werden soll, nicht ausreichend geschützt, während ein vollständiger Löschvorgang durchgeführt wird.
-
Offenbarung der Erfindung
-
Es
ist eine Aufgabe der vorliegenden Erfindung, eine Halbleiter-Speicherkarte
bereitzustellen, die in der Lage ist, ein Dateiobjekt einer Datei,
die gelöscht
werden soll, von dem Zeitpunkt an, wenn das Löschen der Datei angewiesen
wird, bis zu dem Zeitpunkt, wenn die Datei vollständig gelöscht ist,
zu schützen.
-
Die
Aufgabe kann durch eine Halbleiter-Speicherkarte erfüllt werden,
die einen nicht flüchtigen
Speicher, der eine Datei speichert, die durch ein Objekt und Verwaltungsinformationen
gebildet wird, und ein manipulationsgeschütztes Modul, das eine Verarbeitungseinheit
und einen internen Speicher enthält,
umfasst. Die Verarbeitungseinheit enthält eine Löscheinheit, die so betrieben
werden kann, dass sie, wenn ein Lösch-Ereignis für die Datei generiert wird,
1. eine Positionstabelle in dem internen Speicher in dem manipulationsgeschützten Modul
erzeugt, und 2. die Verwaltungsinformationen überschreibt, wobei die Positionstabelle
eine Position des Objektes anzeigt und von der Löscheinheit herangezogen wird,
wenn die Löscheinheit
das Objekt überschreibt.
-
Ein
Dateiobjekt einer Datei wird unter Heranziehen einer Positionstabelle,
die in einem Speicher in einem manipulationsgeschützten Modul
gespeichert wird, überschrieben.
Dementsprechend können die
Informationen hinsichtlich der Fragmente ausreichend von dem Zeitpunkt
an geschützt
werden, zu dem ein Lösch-Ereignis
generiert wird, bis zu dem Zeitpunkt, zu dem die Datei vollständig gelöscht wird.
-
Ein
Dateiobjekt wird unter Heranziehen einer Positionstabelle in einer
Leerlaufzeit, nachdem das Lösch-Ereignis
generiert wird, überschrieben.
Auf diese Weise wird ein Verarbeitungsaufwand des Überschreibens
eines Dateiobjektes so aufgeteilt, dass der Vorgang in einer Vielzahl
von Einheiten einer Leerlaufzeit durchgeführt wird. Aufgrund dieser Aufteilung
ist die Halbleiter-Speicherkarte in der Lage, zu einem früheren Zeit- Punkt in einen Standby-Zustand
zurückzukehren,
wodurch das Überschreiben
eines Dateiobjektes abgeschlossen werden kann, ohne dass ein Benutzer
das Gefühl
hat, dass das Löschen
der Datei eine lange Zeit in Anspruch nimmt.
-
Zusätzlich dazu
wird dem Überschreiben
der Datei-Verwaltungsinformationen, wodurch die Verbindungsbeziehungen
zwischen den Fragmenten, die eine Datei bilden, unterbrochen werden,
Vorrang gegenüber
dem Überschreiben
eines Dateiobjektes eingeräumt.
Da die Überschreibungsvorgänge in der voranstehend
beschriebenen Reihenfolge durchgeführt werden, wird eine umgekehrte
Analyse der Fragmente mit dem Fortschreiten der Zeit immer schwieriger.
-
Hierbei
führt die
Verarbeitungseinheit (1.) eine Operation durch, die einem Befehl
entspricht, der durch eine Vorrichtung ausgegeben wird, mit der die
Halbleiter-Speicherkarte
verbunden ist, und (2.) enthält
die Verarbeitungseinheit darüber
hinaus eine Analyseeinheit, die so betrieben werden kann, dass sie
den Befehl, der durch die Vorrichtung ausgegeben wird, analysiert
und ein Ereignis generiert, das einem Ergebnis der Analyse entspricht.
Darüber
hinaus enthält
die Löscheinheit
eine Haupt-Löscheinheit,
die so betrieben werden kann, dass sie, wenn das Lösch-Ereignis
generiert wird, die Positionstabelle erzeugt und die Verwaltungsinformationen überschreibt,
und eine Unter-Löscheinheit,
die so betrieben werden kann, dass sie, wenn ein anderes Ereignis
als das Lösch-Ereignis
generiert wird, das Objekt unter Heranziehen der erzeugten Positionstabelle überschreibt.
-
Hierbei
umfasst die Halbleiter-Speicherkarte darüber hinaus eine Zeitsteuereinheit,
die so betrieben werden kann, dass sie beginnt, eine Zeit zu messen,
wenn das Lösch-Ereignis generiert
wird. Die Haupt-Löscheinheit überschreibt
einen Teil des Objektes zusätzlich
zu den Verwaltungsinformationen so lange, bis die Zeitsteuereinheit
einen Timeout anweist, und die Unter-Löscheinheit überschreibt einen verbleibenden
Teil des Objektes, der durch die Haupt-Löscheinheit nicht überschrieben
worden ist. Auf diese Weise wird ein Überschreibungsvorgang in Reaktion
auf eine Anweisung zum Löschen
einer Datei so lange fortgesetzt, bis ein Timeout angewiesen wird.
Wenn dementsprechend ein Timeout-Zeitraum auf Basis von beispielsweise
einem Zeitraum angepasst wird, der für einen Überschreibungsvorgang für einen
nicht flüchtigen
Speicher erforderlich ist, kann eine Wartezeit für einen Benutzer optimiert
werden.
-
Hierbei
speichert der interne Speicher einen Verschlüsselungsschlüssel, mit
dem das Objekt verschlüsselt
worden ist, und wenn das Lösch-Ereignis generiert
wird, überschreibt
die Haupt-Löscheinheit den
Verschlüsselungsschlüssel, bevor
sie die Verwaltungsinformationen der Datei überschreibt. Dem Überschreiben
des Verschlüsselungsschlüssels wird Vorrang
gegenüber
dem Überschreiben
eines Dateiobjektes eingeräumt.
Auf diese Weise wird es unmöglich,
die Datei zu entschlüsseln.
Da die Überschreibungsvorgänge in der
voranstehend beschriebenen Reihenfolge durchgeführt werden, wird mit dem Fortschreiten
der Zeit die umgekehrte Analyse der Fragmente immer schwieriger.
-
Hierbei
wird die Halbleiter-Speicherkarte mit Hilfe von entweder einer Kontakt-
oder kontaktlosen Stromversorgung von einer Vorrichtung betrieben,
jedoch führt
die Verarbeitungseinheit das Überschreiben
nur dann durch, wenn die Halbleiter-Speicherkarte mit Hilfe der Kontakt-Stromversorgung
von der Vorrichtung betrieben wird. Als Ergebnis wird während der
kontaktlosen Stromversorgung das Überschreiben eines Dateiobjektes
nicht durchgeführt. Dadurch
kann eine stabile Betriebsweise erzielt werden.
-
Kurze Beschreibung der Zeichnungen
-
1 illustriert
eine Umgebung, in der eine SDeX-Speicherkarte 400 verwendet
wird.
-
2 zeigt
eine interne Struktur einer Halbleiter-Speicherkarte in Übereinstimmung
mit der vorliegenden Erfindung.
-
3 zeigt
eine Hardware-Struktur eines manipulationsgeschützten Moduls TRM 1 (tamper-resistant
module), (das in 2 dargestellt ist).
-
4 zeigt
eine Software-Struktur eines Abschnittes, der durch einen Masken-ROM 6 und
eine zentrale Rechnereinheit CPU 7 (die beide in 3 dargestellt
sind) in dem TRM 1 gebildet ist.
-
5 zeigt
ein logisches Format eines externen Flash-Speichers 2 und
eines internen elektrisch löschbaren
programmieren Lesespeichers EEPROM 3 (beide in 3 dargestellt).
-
6 zeigt
eine interne Struktur eines erweiterten Bereiches für eine EC-Client-Anwendung 22, einen
Authentifizierungs-Bereich 23, und einen Nicht-Authentifizierungs-Bereich 24 (dargestellt
in 5).
-
7 zeigt
eine Struktur einer Partition.
-
8a zeigt
eine Struktur einer Doppel-Dateizuordnungstabelle FAT, 8b zeigt
eine Struktur eines Eintrages eines Hauptinhaltsverzeichnisses, und 8c zeigt
eine Struktur eines Benutzerbereiches.
-
9 zeigt,
dass eine Datei mit dem Namen EOB001.SE1 in fünf Fragmente in Übereinstimmung mit
der Größe eines
Clusters unterteilt wird, und dass die Fragmente jeweils in den
Clustern 003, 004, 005, 00A und 00C gespeichert werden.
-
10 zeigt
Beispiele eines Eintrages eines Hauptinhaltsverzeichnisses und einer
Dateizuordnungstabelle FAT für
eine Datei mit dem Namen „EOB001.SE1", die unterteilt
wird, um in einer Vielzahl von Clustern gespeichert zu werden.
-
11 zeigt
eine Struktur einer Anwendungsschnittstelle API (application interface) 10 (die in 4 dargestellt
ist).
-
12a zeigt, wie ein Schreibvorgang durch den Lese-/Schreib-Handler 14 an
einer Datei durchgeführt
wird, und 12b zeigt, wie ein Lesevorgang durch
den Lese-/Schreib-Handler 14 an
einer Datei durchgeführt
wird.
-
13 illustriert
eine interne Struktur der Anwendungsschnittstelle API 10 mit
einem Hauptaugenmerk auf den Charakteristiken eines Lösch-Handlers 16 (der
in 11 dargestellt ist).
-
14 zeigt
ein Beispiel einer Löschoperations-Verwaltungstabelle.
-
15 ist
ein Ablaufplan, der eine Vorgehensweise eines Ereignisanalyse-Handlers 11 illustriert
(dargestellt in 11).
-
16 ist
ein Ablaufplan, der eine Vorgehensweise eines Nicht-Befehls-Ausführungs-Handlers 12 (dargestellt
in 11) illustriert.
-
17 ist
ein Ablaufplan, der eine Vorgehensweise des Lese-/Schreib-Handlers 14 illustriert.
-
18 ist
ein Ablaufplan, der eine Vorgehensweise eines Lösch-Handlers 16 (dargestellt
in 11) illustriert.
-
19 ist
ein Ablaufplan, der eine Vorgehensweise einer Subroutine zum Löschen auf
Null (Null-Clear-Subroutine) illustriert.
-
20 illustriert
einen Vorgang des Lösch-Handlers 16,
wenn ein Lösch-Ereignis
für eine Datei
generiert wird, die wie in 10 beschrieben gespeichert
ist.
-
21 illustriert
eine Überschreibungsoperation
durch den Nicht-Befehls-Ausführungs-Handler 12 und
den Lösch-Handler 16.
-
22 zeigt
ein Beispiel einer Löschoperations-Verwaltungstabelle,
die sich auf eine zweite Ausführungsform
bezieht.
-
23 zeigt
eine Vorgehensweise einer Subroutine zum Löschen auf Null, die sich auf
die zweite Ausführungsform
bezieht.
-
24 ist
ein Ablaufplan, der eine Vorgehensweise einer rückwärts gerichteten Operation des Löschens auf
Null illustriert.
-
25 zeigt
eine Struktur eines Speichermoduls, das sich auf eine vierte Ausführungsform
bezieht.
-
26 vergleicht
die Leistung eines Flash-Speichers mit der eines FeRAM.
-
27 illustriert
einen FeRAM, der häufig aktualisierte
Daten, wie beispielsweise einen Dateieintrag, eine Dateizuordnungstabelle
FAT, und eine Löschoperations-Verwaltungstabelle
speichert.
-
28 zeigt
eine Struktur des Speichers 3 in dem TRM 1, der
sich auf eine fünfte
Ausführungsform bezieht.
-
Beste Art und Weise des Ausführens der
Erfindung
-
Im
Folgenden werden Ausführungsformen einer
Halbleiter-Speicherkarte der vorliegenden Erfindung beschrieben.
Eine Halbleiter-Speicherkarte, die sich auf eine erste Ausführungsform
bezieht, ist eine SDeX-Speicherkarte, die ein eingebautes manipulationsgeschütztes Modul
einer IC-Karte aufweist. Eine SDeX-Speicherkarte wird, ähnlich wie
bei einer SD-Speicherkarte, als ein Speichermedium für eine tragbare
SD-Vorrichtung verwendet und weist ein eingebautes manipulationsgeschütztes Modul
einer IC-Karte auf. Zusätzlich
dazu kann die SDeX-Speicherkarte 400, die sich auf die
erste Ausführungsform bezieht
(in 1) mit einer externen Vorrichtung sowohl im Kontakt-
als auch im kontaktlosen Kommunikationsmodus kommunizieren.
-
Zuallererst
wird beschrieben, wie die Halbleiter-Speicherkarte in Übereinstimmung
mit der vorliegenden Erfindung (SDeX-Speicherkarte 400)
verwendet wird. Die SDeX-Speicherkarte 400 wird
mit einer tragbaren SD-Vorrichtung, wie beispielsweise Mobiltelefonen
verbunden und wird in einer Umgebung verwendet, die in 1 dargestellt
ist. 1 illustriert eine Umgebung, in der die SDeX-Speicherkarte 400 verwendet
wird.
-
Die
Umgebung, die in 1 dargestellt ist, enthält einen
EC- (Electronic Commerce) Server 100, eine Karten-Lese-/Schreibeinrichtung 200,
eine Funkbasisstation 210 und eine tragbare SD-Vorrichtung 300.
-
Der
EC-Server 100 stellt über
die Karten-Lese-/Schreibeinrichtung 200, die Funkbasisstation 210 und
ein Netzwerk der SDeX-Speicherkarte 400 einen EC-Dienst
zur Verfügung.
Es werden mehrere EC-Anwendungsprogramme auf dem EC-Server 100 betrieben,
und jedes der Anwendungsprogramme stellt der SDeX-Speicherkarte 400 einen einzigartigen
EC-Dienst zur Verfügung.
Die EC-Anwendungen, die auf dem EC-Server 100 laufen, sind
Server-Anwendungen, und jede von ihnen stellt einen anderen EC-Dienst zur Verfügung. In 1 werden EC-Serveranwendungen
für n Arten
von EC-Dienstens
kurz jeweils als S_APL1, 2, 3,... n ausgedrückt. Hierbei gibt es n Arten
von Serveranwendungen. Der EC-Server 100 stellt einen EC-Dienst
zur Verfügung, indem über das
Netzwerk, die Karten-Lese-/Schreibeinrichtung 200 und die
Funkbasisstation 210 ein EC-Befehl an die SDeX-Speicherkarte 400 ausgegeben
wird.
-
Die
Karten-Lese-/Schreibeinrichtung 200 ist beispielsweise
eine Vorrichtung, die in Geldausgabeautomaten von Kreditkartenunternehmen
und Finanzeinrichtungen oder in Registrierkassen in Geschäften enthalten
ist. Die Karten-Lese-/Schreibeinrichtung 200 führt der
SDeX-Speicherkarte 400 Strom zu und führt eine kontaktlose Eingabe/Ausgabe
mit der SDeX-Speicherkarte 400 durch. Über die Karten-Lese-/Schreibeinrichtung 200 empfängt die SDeX-Speicherkarte 400 die
EC-Dienste, die durch den EC-Server bereitgestellt werden.
-
Die
Funk-Basisstation 210 ist auf Gebäuden und Telegraphenmasten
angeordnet. Die Funkbasisstation 210 führt eine Dateneingabe-/Datenausgabe mit
der tragbaren SD-Vorrichtung 300 eines
Mobiltelefontyps über
die Luft durch. Die Funkbasisstation 210 ist mit dem Netzwerk
verbunden. Über
die Funkbasisstation 210 empfängt die tragbare SD-Vorrichtung 300 auch
EC-Dienste, die durch den EC-Server 100 bereitgestellt
werden.
-
Die
tragbare SD-Vorrichtung 300 erlangt Zugriff auf die SDeX-Speicherkarte 400 auf
eine solche Weise, dass die SDeX-Speicherkarte 400 mit
der tragbaren SD-Vorrichtung 300 verbunden ist. Browsersoftware
oder Ähnliches
wird in der tragbaren SD-Vorrichtung 300 so
installiert, dass ein Benutzer über
eine Benutzerschnittstelle des Browsers Zugriff auf ein Dateisystem
(im Folgenden als ein FS [file system] bezeichnet) der SDeX-Speicherkarte 400 erlangt.
Solch ein Zugriff auf ein Dateisystem wird auf solch eine Weise
durchgeführt,
dass die tragbare SD-Vorrichtung 300 einen SD-Befehl, der
durch eine SD-Speicherkarte definiert wird, an die SDeX-Speicherkarte 400 ausgibt
und eine Antwort auf den Befehl von der SDeX-Speicherkarte 400 empfängt. Wenn
die tragbare SD-Vorrichtung 300 die SDeX-Speicherkarte
bootet, wird die SDeX-Speicherkarte 400 so
in der tragbaren SD-Vorrichtung 300 integriert, dass sie
als eine IC-Karte funktioniert. Hierbei wird eine Wendelantenne
in der Rückfläche der
tragbaren SD-Vorrichtung 300 eingesetzt. Wenn die tragbare
SD-Vorrichtung 300 als eine IC-Karte funktioniert, führt die
Wendelantenne Strom von der Karten-Lese-/Schreibeinrichtung 200 zu
der SDeX-Speicherkarte 400 zu. Zusätzlich dazu tauscht die tragbare
SD-Vorrichtung 300 Befehle/Antworten zu/von
der SDeX-Speicherkarte 400 und Befehle/Antworten von/zu
dem EC-Server 100 aus. Genauer gesagt bedeutet dies, dass
die tragbare SD-Vorrichtung 300 einen EC-Befehl von dem EC-Server 100 einbindet,
um einen erweiterten SD-Befehl zu der SDeX-Speicherkarte 400 zu
generieren. Darüber
hinaus erhält
die tragbare SD-Vorrichtung 300 eine EC-Antwort von einer
SD-Antwort von der SDeX-Speicherkarte 400 und gibt die EC-Antwort
an den EC-Server 100 aus. Wenn die tragbare SD-Vorrichtung 300 die
SDeX-Speicherkarte 400 so bootet, dass sie als eine IC-Karte
fungiert, befinden sie sich in einem „EC-Modus". Wenn die tragbare SD-Vorrichtung 300 die
SDeX-Speicherkarte 400 als ein Speichermedium verwendet,
befinden sie sich im „SD-Modus".
-
Wenn
sich die SDeX-Speicherkarte 400 in dem SD-Modus befindet,
wird sie als eine SD-Speicherkarte verwendet. In dem SD-Modus ist
die tragbare SD-Vorrichtung 300 die Host-Vorrichtung der SDeX-Speicherkarte 400.
Die SDeX-Speicherkarte 400 wird zum Speichern von Audio-
und Videodaten, die in diesem Fall von den Verteilungsservern auf
die tragbare SD-Vorrichtung 300 heruntergeladen werden,
verwendet. Dementsprechend kann die Host-Vorrichtung die Audio-
und Videodaten abspielen, die auf der SDeX-Speicherkarte 400 gespeichert sind.
-
In
dem EC-Modus wird die SDeX-Speicherkarte 400 als eine IC-Karte
verwendet. Die SDeX-Speicherkarte 400 wird in dem EC-Modus auch
mit der tragbaren SD-Vorrichtung verbunden. Die Host-Vorrichtung
der SDeX-Speicherkarte 400 ist jedoch nicht die tragbare
SD-Vorrichtung 300, sondern der EC-Server 100 in
dem Netzwerk. Die SDeX-Speicherkarte 400 kommuniziert
mit Hilfe der tragbaren SD-Vorrichtung 300, mit der die SDeX-Speicherkarte 400 zusammen
mit der Karten-Lese-/Schreibeinrichtung 200 und der Funkbasisstation 210 verbunden
ist, mit dem EC-Server 100. Auf diese Weise werden Geldtransaktionen
zwischen der SDeX-Speicherkarte 400 und dem EC-Server 100 ausgeführt.
-
Da
die SDeX-Speicherkarte 400, die sich auf die vorliegende
Ausführungsform
bezieht, eine Funktion als IC-Karte hat, gewährt sie, zusätzlich zu
der Funktion des Speicherns von übertragenen
Audio- und Videodaten eine größere Benutzerfreundlichkeit für den Benutzer.
-
Hierbei
erlangt in Übereinstimmung
mit 1 in dem EC-Modus die SDeX-Speicherkarte 400 Zugriff auf
den EC-Server 100 über
die Karten-/Lese-/Schreibeinrichtung 200.
Alternativ dazu kann die SDeX-Speicherkarte 400 auch auf
solch eine Weise Zugriff auf den EC-Server 100 erlangen, dass
die tragbare SD-Vorrichtung 300 über die
Funkstation 210 und über
das Netzwerk Zugriff auf den EC-Server 100 erlangt.
-
Der
folgende Teil beschreibt, wie die Halbleiter-Speicherkarte in Übereinstimmung
mit der vorliegenden Erfindung hergestellt wird. Die Halbleiter-Speicherkarte
in Übereinstimmung
mit der vorliegenden Erfindung besitzt die interne Struktur, die
in den 2 und 3 dargestellt ist und kann industriell
hergestellt werden.
-
Wie
dies in 2 dargestellt ist, sind in Übereinstimmung
mit der vorliegenden Erfindung ein Steckverbinder, ein manipulationsgeschützter Modulchip
(TRM – tamper
resistant module) 1 und ein Flash-Speicher-Chip 2 mit
einer Kapazität
von genauso viel wie 256 Megabytes auf der Halbleiter-Speicherkarte
montiert.
-
Es
gibt mehrere Definitionen, wie vor Manipulation geschützt werden
kann. Die allgemeinen Definitionen eines Schutzes vor Manipulation
sind jedoch anscheinend die folgenden:
- (1)
Selbst wenn ein TRM- (manipulationsgeschützter) Chip physisch geöffnet wird,
kann seine interne Struktur nicht erfasst werden.
- (2) Selbst wenn eine elektromagnetische Welle auf einen TRM-Chip
gestrahlt wird, kann seine interne Struktur nicht erfasst werden.
- (3) Es besteht eine nicht lineare Beziehung zwischen der Länge der
Dateneingabe in einen TRM-Chip und einer Verarbeitungszeit für die Daten.
- (4) Ausgabedaten werden nicht über Umkehroperationen auf Basis
eines Fehlers der Eingabedaten erhalten.
-
Aufgrund
dieser vier Charakteristiken ist das manipulationsgeschützte Modul
(TRM) 1 gegenüber verschiedenen
Arten von Umkehroperationen resistent. Der folgende Teil beschreibt
Hardwareelemente in dem TRM 1.
-
3 zeigt
die Hardwarestruktur in dem TRM 1. Wie dies in 3 dargestellt
ist, sind ein interner elektrisch löschbarer programmierbarer Lesespeicher
EEPROM 3, eine externe Speichersteuereinheit 4,
ein Host-Schnittstellenmodul (HIM – host interface module) 5,
ein Masken-ROM 6, eine zentrale Rechnereinheit CPU 7 auf
dem TRM 1 montiert, um ein Mikrocomputersystem zu bilden.
-
Der
interne EEPROM 3 ist ein lesbarer und beschreibbarer interner
Speicher. Das Mikrocomputersystem, das als das TRM 1 montiert
ist, weist hohe Herstellungskosten pro Einheitsbereich auf. Der
interne EEPROM 3 in dem TRM 1 hat eine Speicherkapazität von 32
Kilobytes. Der Flash-Speicher, der in 2 dargestellt
ist, wird im folgenden Verlauf der Beschreibung mitunter als externer
Speicher bezeichnet, um ihn von dem internen EEPROM 3 zu
unterscheiden.
-
Die
externe Speichersteuereinheit 4 ist eine Schaltung, die
ausschließlich
für den
Zugriff auf den externen Flash-Speicher 2 verwendet wird.
Der Zugriff auf den externen Flash-Speicher 2 wird auf Basis eines
SD-Befehls, der durch die tragbare SD-Vorrichtung 300 ausgegeben
wird, durchgeführt.
-
Das
Host-Schnittstellenmodul HIM 5 klassifiziert die von der
tragbaren SD-Vorrichtung 300 ausgegebenen SD-Befehle in
Bezug auf ihre Befehlsnummern. Die SD-Befehlsnummern werden von 1 bis m durchnummeriert,
oder erhalten erweiterte Nummern von (m + 1) oder mehr. Wenn die
SD-Befehlsnummer eines SD-Befehls innerhalb des Bereiches von 1
und m fällt,
gibt das Host-Schnittstellenmodul HIM 5 den SD-Befehl an die externe
Speichersteuereinheit 4 aus. Wenn die SD-Befehlsnummer
eines SD-Befehls (m + 1) oder mehr ist, erhält das Host-Schnittstellenmodul
HIM 5 einen EC-Befehl,
der in einen erweiterten SD-Befehl eingebunden war und gibt den
EC-Befehl an die zentrale Rechnereinheit CPU 7 aus.
-
Der
Masken-ROM 6 speichert vorab eine virtuelle Java-Maschine
und ein Anwendungsprogramm. Wenn die SDeX-Speicherkarte 400 die
tragbare SD-Vorrichtung 300 bootet, beginnt das Booten an
einer vorgegebenen Adresse in dem Masken-ROM 6. Auf diese
Weise wird die tragbare SD-Vorrichtung 300 so aktiviert,
dass sie sich im EC-Modus befindet.
-
Die
CPU 7 führt
ein Programm aus, das auf dem Masken-ROM 6 gespeichert
ist.
-
4 zeigt
eine Softwarestruktur eines Abschnittes, der durch den Masken-ROM 6 und
die CPU 7 in dem manipulationsgeschützten Modul TRM 1 gebildet
ist (in 3 dargestellt). Ein Abschnitt,
der durch eine gepunktete Linie wk1 umschrieben ist, ist ein Modul,
das einer IC-Karte entspricht. Der Rest des TRM 1 ist ein
Modul, das einer SD-Speicherkarte entspricht.
-
Der
Abschnitt des TRM 1, der einer SD-Speicherkarte entspricht,
enthält
die externe Speichersteuereinheit 4 und das Host-Schnittstellenmodul HIM 5.
Das Host-Schnittstellenmodul
HIM 5 besitzt nicht nur die Funktion als SD-Speicherkarte
sondern auch die Funktion als ein erster Kontakt zwischen dem Modul,
das der SD-Speicherkarte
entspricht, und dem Modul, das der IC-Karte entspricht.
-
Das
mit einer IC-Karte kompatible Modul weist eine Schichtenstruktur
auf. In der Schichtenstruktur befindet sich der interne EEPROM 3 in
der unteren Schicht (physikalische Schicht). Eine Anwendungsschnittstelle
(API) 10 befindet sich in einer Schicht direkt über der
Schicht, in der sich der interne EEPROM 3 befindet. Die
virtuelle Java-Maschine 9 befindet
sich in einer Schicht direkt über
der Schicht, in der die Anwendungsschnittstelle (API) 10 vorhanden
ist. Eine EC-Client-Anwendung 8 ist in der oberen Schicht
angeordnet. Hierbei sollte beachtet werden, dass die externe Speichersteuereinheit 4 in
dem Abschnitt, der mit der SD-Speicherkarte kompatibel ist, in einer
physikalischen Schicht auf ähnliche
Weise wie der interne EEPROM 3 angeordnet ist.
-
Der
folgende Tei beschreibt die Softwarestruktur, die in 4 dargestellt
ist (die EC-Client-Anwendung 8,
die virtuelle Java-Maschine 9 und die Anwendungsschnittstelle
API 10).
-
Die
EC-Client-Anwendung 8 ist eine Art einer EC-Anwendung,
die in Java geschrieben ist, und sie erlangt Zugriff auf den EC-Server 100 auf
Basis einer Anweisung durch einen Benutzer. Da eine Vielzahl von
Arten von EC-Serveranwendungen, die jeweils unterschiedlichen EC-Diensten
entsprechen, auf dem EC-Server 100 arbeiten, arbeitet eine
Vielzahl von Arten von EC-Client-Anwendungen, die jeweils unterschiedlichen
EC-Diensten entsprechen,
auf der SDeX-Speicherkarte 400. In 4 wird dargestellt, dass
die EC-Client-Anwendungen C_APL1, 2, 3 ... n jeweils den EC-Serveranwendungen
auf dem EC-Server 100 (S_APL 1, 2, 3 ... n) entsprechen.
Die EC-Client-Anwendung 8 sendet/empfängt Befehle an/von die/den
EC-Serveranwendungen auf dem EC-Server 100 über die
Karten-Lese-/Schreibeinrichtung 200, die Funkbasisstation 210 und
das Netzwerk, um verschiedene Arten von EC-Diensten zu erhalten.
Wenn ein EC-Befehl, der von einer EC-Serveranwendung empfangen wird,
ein Befehl zum Schreiben von Daten ist, gibt die EC-Client-Anwendung 8 den
EC-Befehl über
die virtuelle Java-Maschine 9 an die Anwendungsschnittstelle
API 10 aus.
-
Zusätzlich dazu
erlangt die EC-Client-Anwendung 8 Zugriff auf den externen
Flash-Speicher 2 und
den internen EEPROM 3 auf Basis einer Anweisung durch einen
Benutzer in dem EC-Modus. Der Zugriff umfasst einen Dateizugriff,
wie beispielsweise das Erstellen einer Datei und das Durchführen von Lese-
und Schreiboperationen an der Datei.
-
Die
virtuelle Java-Maschine 9 (JavaCard VM (eingetragenes Warenzeichen))
wandelt Java-Sprache, in der die EC-Client-Anwendung 8 geschrieben ist,
in native Codes der zentralen Rechnereinheit CPU 7 um,
und veranlasst die CPU 7 dazu, die EC-Client-Anwendung 8 auszuführen.
-
Die
Anwendungsschnittstelle API 10 liest von dem externen Flash-Speicher 2 und
dem internen EEPROM 3 und schreibt auf den externen Flash-Speicher 2 und
auf den internen EEPROM 3 auf Basis eines Befehls, der
durch die EC-Client-Anwendung 8 ausgegeben wird. In dem
voranstehenden Teil der Beschreibung wurde die Softwarestruktur
der SDeX-Speicherkarte 400 beschrieben.
-
Im
folgenden Teil wird das logische Format des externen Flash-Speichers
2 und
des internen EEPROM
3 beschrieben.
5 zeigt
das logische Format des externen Flash-Speichers
2 und
des internen EEPROM
3. Der externe Flash-Speicher
2 und
der interne EEPROM
3 haben zwei Speicherbereiche, das heißt, sm 1
und sm 2. Auf den Speicherbereich sm 1 kann von der zentralen Rechnereinheit CPU
7 in
dem TRM
1 zugegriffen werden, und der Speicherbereich sm
1 kann aus einem Bereich für
die EC-Client-Anwendung
21 und
einem erweiterten Bereich für
die EC-Client-Anwendung
22 gebildet sein. Auf den Speicherbereich
sm 2 kann von der tragbaren SD-Vorrichtung
300 aus zugegriffen
werden, ohne die CPU
7 in dem TRM
1 durchlaufen
zu müssen.
Der Speicherbereich sm 2 ist durch einen Authentifizierungs-Bereich
23 und
einen Nicht-Authentifizierungs-Bereich
24 gebildet. Der
Authentifizierungs-Bereich
23 und ein Nicht-Authentifizierungs-Bereich
24 sind
Speicherbereiche einer SD-Speicherkarte, und sie werden in dem
Japanischen Patent Nr. 3389186 erklärt.
-
6 zeigt
die Struktur des erweiterten Bereichs für die EC-Client-Anwendung 22,
den Authentifizierungs-Bereich 23, den Nicht-Authentifizierungs-Bereich 24,
die eine Dateisystemstruktur in Übereinstimmung
mit ISO/IEC 9293 aufweisen. Die Dateisystemstruktur in Übereinstimmung
mit ISO/IEC 9293 dient lediglich als ein Beispiel und wurde lediglich
zum Zwecke eines leichteren Verständnisses ausgewählt. Der
erweiterte Bereich für
die EC-Client-Anwendung 22, der Authentifizierungsbereich 23 und
der Nicht-Authentifizierungsbereich 24 können auch
eine andere Dateisystemstruktur, wie beispielsweise das Universal
Disk Format (UDF) aufweisen. Allgemein formuliert, können eine
Dateisystemstruktur, bei der eine Länge eines Fragmentes veränderbar
ist und eine Anfangsadresse und eine Datenlänge in Eintragsinformationen
angezeigt werden, verwendet werden.
-
Der
erweiterte Bereich für
die EC-Client-Anwendung 22 ist durch einen Bereich 22a auf
dem internen EEPROM 3 und einem sicheren Flash-Bereich 22b auf
dem externen Flash-Speicher 2 gebildet. Der sichere Flash-Bereich 22b hat
1, 2, 3 ... n Partitionen, das heißt, Dateisystembereiche. Im
Gegensatz dazu enthält
der Bereich 22a in dem internen EEPROM 3 ein Master
Boot Record und Bezugstabellen für
die Partitionen (Partitions-Tabellen 1, 2, 3 ... n).
-
Die
Partitionen in dem erweiterten Bereich für die Client-Anwendung 22,
der Authentifizierungs-Bereich 23 und der Nicht-Authentifizierungs-Bereich 24 besitzen
dieselbe interne Struktur. 7 zeigt
solch eine Struktur einer Partition.
-
Eine
Partition enthält
einen Partition-Bootsektor, eine doppelte Dateizuordnungstabelle
(FAT), einen Hauptinhaltsverzeichnis-Eintrag und einen Benutzerbereich.
-
Der
Partition-Bootsektor ist eine Tabelle, die Informationen hinsichtlich
der Partition anzeigt.
-
Die
doppelte Dateizuordnungstabelle FAT enthält zwei Dateizuordnungstabellen
FAT in Übereinstimmung
mit ISO/IEC 9293. Jede Dateizuordnungstabelle enthält eine
Vielzahl von FAT-Einträgen in
einer Eins-zu-Eins-Entsprechung mit Clustern. Jeder FAT-Eintrag
zeigt an, ob ein entsprechendes Cluster verwendet wird oder nicht.
Wenn ein entsprechendes Cluster nicht verwendet wird, wird der Wert eines
FAT-Eintrages auf „0" eingestellt. Wenn
ein entsprechendes Cluster verwendet wird, wird der Wert eines FAT-Eintrages auf den
Wert einer Cluster-Nummer eingestellt, die die Verbindungsbeziehungen
zwischen den Clustern anzeigt, das heißt, ein nächstes Cluster, das nach dem
entsprechenden Cluster zu lesen ist. Eine gepunktete Linie ff1 in 8A zeigt
eine Vielzahl von FAT-Einträgen
002, 003, 004, 005 ..., die in einer FAT enthalten sind, an. Die
Nummer, die einem jeden FAT-Eintrag zugewiesen wird (002, 003, 004,
005 ...) zeigt ein entsprechendes Cluster an, das heißt, eine
Cluster-Nummer eines Clusters, das einem FAT-Eintrag entspricht.
-
Der
Hauptinhaltsverzeichnis-Eintrag enthält eine Vielzahl von Dateieinträgen in einem
Hauptinhaltsverzeichnis, von denen jedes einer Datei entspricht.
Jeder Dateieintrag enthält
Einträge
wie „FILENAME" („DATEINAME"), der einen Namen
einer Datei anzeigt, „FILE
EXTENSION" („DATEIERWEITERUNG"), der eine Dateierweiterung
der Datei anzeigt, „FIRST
CLUSTER NUMBER" („ERSTE
CLUSTER-NUMMER"),
der ein Cluster anzeigt, das einen Anfang der Datei speichert, „FILE ATTRIBUTE" („DATEIEIGEN-SCHAFT"), der eine Eigenschaft
der Datei anzeigt, „TIME
OF STORING” „ZEITPUNKT
DES SPEICHERNS"),
der einen Zeitpunkt anzeigt, zu dem die Datei gespeichert wird, „DATE OF
STORING" („DATUM
DES SPEICHERNS"),
der ein Datum anzeigt, an dem die Datei gespeichert wird, „FILE LENGTH" („DATEILÄNGE"), der die Datenlänge der Datei
anzeigt.
-
In
dem Benutzerbereich wird eine Datei gespeichert, und die kleinste
Einheit ist ein Cluster. Eine gepunktete Linie ff2 in 8c zeigt
eine Vielzahl von Clustern 002, 003, 004, 005, ... in dem Benutzerbereich
an. Die Nummern in 8c (002, 003, 004, 005, 006,
007, 008, ...) sind dreistellige hexadezimale Cluster-Nummern, die
den Zweck verfolgen, ein jedes Cluster zu identifizieren. Da der
Zugriff auf den Datenbereich in Einheiten eines Clusters als kleinste Einheit
durchgeführt
wird, wird eine Position in dem Datenbereich durch die Cluster-Nummern
angezeigt.
-
Hierbei
wird im folgenden Teil beschrieben, wie eine Datei mit dem Namen
EOB001.SE1 ist einem Hauptinhaltsverzeichnis gespeichert wird, das heißt, es wird
ein exemplarisches Verfahren zum Speichern einer Datei in Bezug
auf 9 beschrieben. Hierbei ist die Bezeichnung „EOB" von „EOB001.SE1" eine Kurzform für ein EC-Objekt,
und die Bezeichnung „SE" ist eine Erweiterung,
die nach „Secure
EC" (sichere EC)
benannt ist. Da, wie dies voranstehend erwähnt worden ist, die kleinste
Einheit, auf die in dem Datenbereich zugegriffen werden kann, ein
Cluster ist, muss die Datei EOB001.SE1 in dem Datenbereich in der
kleinsten Einheit eines Clusters gespeichert werden. Die Datei EOB001.SE1 wird
zuerst in Fragmente unterteilt, die jeweils eine Größe eines
Clusters aufweisen, und jedes Fragment wird in ein Cluster geschrieben. 9 zeigt, dass
die Datei EOB001.SE1 in fünf
Fragmente in Übereinstimmung
mit einer Clustergröße unterteilt wird,
und dass die Fragmente jeweils in den Clustern 003, 004, 005, 00A
und 00C gespeichert werden.
-
Wenn
die Datei EOB001.SE1 in Fragmente unterteilt wird, wie dies voranstehend
beschrieben wurde, müssen
ein Verzeichniseintrag und eine Dateizuordnungstabelle FAT so eingestellt
werden, wie dies in 10 dargestellt ist.
-
10 zeigt
als ein Beispiel einen Verzeichniseintrag und eine Dateizuordnungstabelle,
wenn die Datei EOB001.SE1 separat in einer Vielzahl von Clustern
gespeichert wird. In Übereinstimmung
mit 10 zeigt, da ein Anfang der Datei EOB001.SE1 in
einem Cluster 003 gespeichert wird, der Eintrag „FIRST CLUSTER NUMBER" („ERSTE
CLUSTER-NUMMER")
in einem Hauptinhaltsverzeichnis die Bezeichnung 003 an, das heißt, die
Cluster-Nummer des Clusters, das den Anfang speichert. Anhand von 10 kann
gesehen werden, dass zwei aufeinanderfolgende Fragmente der Datei
EOB001.SE1 jeweils in den Clustern 004 und 005 gespeichert werden.
Das Cluster 003, das den Anfang der Datei EOB001.SE1 speichert,
entspricht einem FAT-Eintrag 003 (004). Hierbei zeigt der FAT-Eintrag
003 die Bezeichnung 004 an, die das Cluster 004, das den sich dem
Anfang anschließenden
Bereich speichert, an. Zusätzlich
dazu entsprechen die Cluster 004 und 005, die die zwei Fragmente,
die auf den Anfang folgen, speichern, den FAT-Einträgen 004(005)
und 005(00A). Diese FAT-Einträge
zeigen 005 und 00A an, die die Cluster 005 und 00A, die die sich
anschließenden
Fragmente speichern, anzeigen.
-
Wenn
Cluster-Nummern in FAT-Einträgen
in Übereinstimmung
mit den Pfeilen fk1, fk2, fk3, fk4 und fk5 verfolgt werden, können sämtliche
der Fragmente, die die Datei EOB001.SE1 bilden, gelesen werden.
Anhand der voranstehenden Beschreibung kann gesehen werden, dass
die kleinste Einheit, auf die durch den Benutzerbereich der SDeX-Speicherkarte 400 zugegriffen
werden kann, ein Cluster ist, und dass Cluster FAT-Einträgen in einer Eins-zu-Eins-Entsprechung
entsprechen. Ein FAT-Eintrag, der einem Cluster entspricht, das
ein Ende einer EOB-Datei speichert (Cluster 00C in 9)
zeigt die Bezeichnung „FFF" an, die anzeigt, dass
ein entsprechendes Cluster das letzte Fragment der Datei speichert.
-
Der
folgende Teil beschreibt die Struktur der Anwendungsschnittstelle
API 10. Hierbei ist der Begriff „Ereignis" ein generischer Begriff, der eine Eingabe
in die Anwendungsschnittstelle API 10, beispielsweise einen
EC-Befehl, das Auftreten einer Hardwareunterbrechung und die Eingabe
von Kommunikationsdaten repräsentiert.
Die Anwendungsschnittstelle API 10 ist durch Programme
gebildet, die in Reaktion auf ein Ereignis, das innerhalb und außerhalb
der API 10 auftritt, startet. Solch ein Programm wird als
ein „Ereignis-Handler" bezeichnet und ist
in 11 dargestellt, die die Struktur der Anwendungsschnittstelle
API 10 zeigt. Wie dies in 11 dargestellt
ist, enthält
die Anwendungsschnittstelle API 10 Ereignis-Handler, wie
beispielsweise einen Ereignisanalyse-Handler 11, einen Nicht-Befehls-Ausführungs-Handler 12,
einen Zeitsteuereinheit-Handler 13, einen Lese-/Schreib-Handler 14,
eine Verschlüsselungsschlüssel-Tabelle 15 und einen
Lösch-Handler 16.
-
Der
Ereignisanalyse-Handler 11 analysiert Ereignisse, die innerhalb
und außerhalb
der Anwendungsschnittstelle API 10 auftreten, und generiert
ein API-internes Ereignis in Übereinstimmung
mit dem Ergebnis der Analyse. Eine der häufigsten Ereignisse, die außerhalb
der Anwendungsschnittstelle API 10 auftreten, ist ein EC-Befehl,
der durch die EC-Client-Anwendung 8 ausgegeben wird. Der
Ereignisanalyse-Handler 11 ana lysiert die Inhalte von EC-Befehlen.
Wenn ein EC-Befehl Lese- und Schreiboperationen an einer Datei anzeigt,
erzeugt der Ereignisanalyse-Handler 11 interne Ereignisse
eines Datei-Lese-/Schreibereignisses und ein Befehlsstart-Ereignis. Wenn
ein EC-Befehl ein Löschen
einer Datei einzeigt, erzeugt der Ereignisanalyse-Handler 11 interne Ereignisse
eines Datei-Löschereignisses
und ein Befehlsstart-Ereignis. Die Generierung dieser internen Ereignisse
veranlasst jeweils einen Ereignis-Handler für Lese- und Schreiboperationen
an einer Datei oder einen Ereignis-Handler zum Löschen einer Datei dazu, zu
arbeiten.
-
Die
API-internen Ereignisse umfassen ein Ereignis, das anzeigt, dass
eine Vorgehensweise durch einen Ereignis-Handler abgeschlossen worden ist
(ein Abschluss-Ereignis). Wenn ein Ereignis-Handler, der einen EC-Befehl
ausführt,
ein Abschluss-Ereignis generiert, gibt der Ereignisanalyse-Handler 11 eine
EC-Antwort an die EC-Client-Anwendung 8 aus, die den EC-Befehl
ausgegeben hat.
-
Der
Nicht-Befehls-Ausführungs-Handler 12 arbeitet
dann, wenn keiner der anderen Ereignis-Handler in der Anwendungsschnittstelle
API 10 einen Befehl ausführt. Der Antriebszeitraum für den Nicht-Befehls-Ausführungs-Handler 12 und
die Antriebszeiträume
für die
anderen Ereignis-Handler, die EC-Befehle ausführen, schließen sich
gegenseitig aus. Dies bedeutet, dass der Nicht-Befehls-Ausführungs-Handler 12 dann
arbeitet, wenn kein anderer Ereignis-Handler arbeitet.
-
Der
Zeitsteuereinheit-Handler 13 startet das Messen einer Zeit,
wenn ein Befehlsstart-Ereignis generiert
wird und weist ein Timeout an, wenn die gemessene Zeit einem vorgegebenen
Zeitraum entspricht. Der Ereignisanalyse-Handler 11 überwacht, ob
der Zeitsteuereinheit-Handler 13 ein Timeout anweist, um
in der Lage zu sein, eine lange Operation zwangsweise zu beenden.
Solch ein zwangsweises Anhalten wird durch ein Anhalte-Ereignis
durch den Ereignisanalyse-Handler 11 erzielt.
-
Der
Lese-/Schreib-Handler 14 liest aus/schreibt in einer/eine
Datei in dem externen Flash-Speicher 2 und in dem internen
EEPROM 3, wenn ein Lese-/Schreib-Ereignis generiert wird. 12a zeigt, wie eine Schreiboperation in eine Datei
durch den Lese-/Schreib-Handler 14 durchgeführt wird.
-
Eine
Schreiboperation in eine Datei wird auf die folgende Weise durchgeführt. Der
Lese-/Schreib-Handler 14 empfängt den
Namen einer Datei, in die Daten geschrieben werden sollen und die
Daten, die geschrieben werden sollen, von der EC-Client-Anwendung 8 (C_APL
1, 2, 3 ... n) (siehe 12a(1)
und (2)). Zusätzlich
dazu wird ein Verschlüsselungsschlüssel, der
der Datei zugewiesen wird, in die Daten geschrieben werden sollen,
durch den Lese-/Schreib-Handler 14 von der Verschlüsselungsschlüssel-Tabelle 15 erhalten
(3). Anschließend werden
die Daten, die von der EC-Client-Anwendung 8 (C_APL
1, 2, 3 ... n) empfangen werden, mit dem Verschlüsselungsschlüssel, der
von der Verschlüsselungsschlüssel-Tabelle 15 erhalten
wird (4), so verschlüsselt,
dass sie in die Datei geschrieben werden können (5). 12b zeigt, wie eine Leseoperation in eine Datei
durch den Lese-/Schreib-Handler 14 durchgeführt wird.
-
Eine
Leseoperation in eine Datei wird auf die folgende Weise durchgeführt. Der
Lese-/Schreib-Handler 14 empfängt den
Namen einer Datei, die von der EC-Client-Anwendung 8 (C_APL 1, 2, 3
... n) gelesen werden soll. Nachdem die verschlüsselten Daten von dem externen
Flash-Speicher 2 gelesen sind (12b(1)),
wird ein Verschlüsselungsschlüssel, der
der zu lesenden Datei zugewiesen ist, von der Verschlüsselungsschlüssel-Tabelle 15 erhalten
(2). Anschließend
werden die gelesenen Daten mit dem erhaltenen Verschlüsselungsschlüssel entschlüsselt (3),
so dass sie zu der EC-Client-Anwendung 8 (C_APL 1, 2, 3
... n) weitergeleitet werden können
((4) und (5)).
-
Die
Verschlüsselungsschlüsseltabelle 15 zeigt
die Eins-zu-Eins-Entsprechung zwischen den Verschlüsselungsschlüsseln für Dateien
und Dateinamen an. Ein Verschlüsslungsschlüssel wird
durch den Lese-/Schreib-Handler 14 generiert und in der Verschlüsselungsschlüssel-Tabelle 15 registriert, wenn
die EC-Client-Anwendung 8 eine Datei erstellt. Registrierte
Verschlüsselungsschlüssel in
der Verschlüsselungsschlüssel-Tabelle 15 werden
herangezogen, wenn eine Datei geöffnet
wird und Lese- und Schreiboperationen an einer Datei durchgeführt werden.
-
Der
Lösch-Handler 16 arbeitet
dann, wenn ein Lösch-Ereignis
generiert wird. Wenn ein Lösch-Ereignis
generiert wird, werden ein Dateieintrag, eine Dateizuordnungstabelle
FAT und ein Dateiobjekt, die eine Datei bilden, durch den Lösch-Handler 16 mit
Null-Codes überschrieben,
nachdem eine Löschoperations-Verwaltungstabelle
erstellt wird.
-
Ein
Löschen
einer Datei in der vorliegenden Ausführungsform zeigt sowohl das Überschreiben
eines Verschlüsselungsschlüssels, eines
Dateieintrages und einer Dateizuordnungstabelle FAT für eine Datei
als auch das Überschreiben
für ein
Dateiobjekt der Datei an. Hierbei zeigt das Überschreiben das Überschreiben
mit Null-Codes (zum Löschen
auf Null) oder auf eine spezielle Weise an. Der Lösch-Handler 16 räumt dem
vorherigen Überschreiben
Vorrang ein. Da das letztere Überschreiben
eine enorme Verarbeitungszeit erfordert, kann es durch andere Ereignis-Handler
durchgeführt
werden. Jedoch wird in Übereinstimmung
mit der vorliegenden Erfindung das Überschreiben eines Dateiobjektes
für eine
Datei, das eine enorme Verarbeitungszeit erfordert, vertraulich
und separat in einer Vielzahl von Leerlaufzeiten durchgeführt.
-
13 zeigt
die interne Struktur der Anwendungsschnittstelle API 10 mit
einem Hauptaugenmerk auf der voranstehend beschriebenen Charakteristik
der vorliegenden Erfindung. Wie dies durch einen Pfeil cw 1 in 13 dargestellt
ist, wird, wenn ein Lösch-Ereignis generiert
wird, eine Löschoperations-Verwaltungstabelle
durch den Lösch-Handler 16 erstellt
und anschließend
in den Speicher in dem manipulationsgeschützten Modul TRM 1 geschrieben. Eine
Löschoperations-Verwaltungstabelle
zeigt, wie das Überschreiben
durchgeführt
werden sollte. Solch eine Löschoperations-Verwaltungstabelle
wird vor dem Überschreiben
eines Dateieintrages und einer Dateizuordnungstabelle FAT erstellt,
um andere Ereignis-Handler über
das Vorhandensein von Fragmenten, die auf Null gelöscht werden
sollen, zu informieren und wie viele Daten einer Datei auf Null
gelöscht
worden sind. Wenn eine Löschoperations-Verwaltungstabelle
erstellt worden ist, überschreiben
der Nicht-Befehls-Ausführungs-Handler 12,
der Lese-/Schreib-Handler 14 und der Lösch-Handler 16 X (Einheitslänge) Bytes
eines Fragments (wie dies durch die Pfeile nc1 und 2 dargestellt
ist) in Bezug auf die Löschoperations-Verwaltungstabelle.
Anschließend
wird die Löschoperations-Verwaltungstabelle aktualisiert.
Wie dies durch die Pfeile nc1 und 2 dargestellt wird, können Dateien,
die sowohl in dem externen Flash-Speicher 2 als auch in
dem internen EEPROM 3 gespeichert sind, in der vorliegenden
Ausführungsform
auf Null gelöscht
werden. Hierbei wird jedoch lediglich eine Operation des Löschens auf Null
einer Datei, die in dem externen Flash-Speicher 2 gespeichert
ist, beschrieben, um eine komplizierte Erklärung zu vermeiden. Eine Operation
des Löschens
auf Null kann in der vorliegenden Ausführungsform sowohl, wenn ein
Dateiobjekt für
eine Datei fragmentiert ist als auch nicht fragmentiert ist, durchgeführt werden.
In diesem Fall wird jedoch lediglich eine Operation des Löschens auf
Null für
den Fall beschrieben, in dem ein Dateiobjekt für eine Datei fragmentiert ist,
um eine umständliche
Beschreibung zu umgehen. (Aus diesem Grund wird in dem folgenden
Teil der Beschreibung der Begriff „ein Dateiobjekt" gleichbedeutend
mit dem Begriff „Fragmente" ausgetauscht.)
-
14 zeigt
als ein Beispiel eine Löschoperations-Verwaltungstabelle.
Eine Löschoperations-Verwaltungstabelle
ist aus einer Vielzahl von Datensätzen in einer Eins-zu-Eins-Entsprechung mit Fragmenten
gebildet. Jeder Datensatz besitzt vier Einträge: „VALID FLAG" („GÜLTIGES FLAG"), der anzeigt, ob
ein entsprechendes Fragment gelöscht wird
oder vollständig
gelöscht
worden ist; „START ADR" („ANFANGS
ADR"), der eine
Anfangsadresse des Fragmentes anzeigt; „CLEARED ADR" („GELÖSCHTE ADR"), der eine gelöschte Adresse
anzeigt, die anzeigt, wie viele Daten des Fragmentes auf Null gelöscht worden
sind, wenn eine Löschoperation
an dem Fragment bis zur Hälfte
durchgeführt worden
ist; und „END
ADR" („END ADR"), der eine Endadresse
des Fragmentes anzeigt. Der Lösch-Handler 16 stellt
die Werte von START ADR und END ADR auf Basis der Adressen ein,
die in der voranstehend erwähnten
Dateizuordnungstabelle FAT oder dem Dateieintrag vermerkt sind.
-
Der
Ereignisanalyse-Handler 11, der Nicht-Befehls-Ausführungs-Handler 12,
der Lese-/Schreib-Handler 14 und
der Lösch-Handler 16 in der
Anwendungsschnittstelle API 10 werden durch Schreibprogramme
generiert, die Vorgehensweisen in Computersprache durchführen, die
in den 15, 16, 17, 18 und 19 dargestellt
sind. Die 15, 16, 17 und 18 sind
Ablaufpläne,
die jeweils die Vorgehensweisen des Ereignisanalyse-Handlers 11,
des Nicht-Befehls-Ausführungs-Handlers 12 und
des Lese-/Schreib-Handlers 14 und
des Lösch-Handlers 16 illustrieren. 19 ist ein
Ablaufplan, der eine Vorgehensweise einer Operation des Löschens auf
Null illustriert. Eine Operation des Löschens auf Null zeigt das Überschreiben von
X Bytes von Fragmenten mit Null-Codes an. Da die Operation des Löschens auf
Null durch den Nicht-Befehls-Ausführungs-Handler 12, den Lese-/Schreib-Handler 14 und
den Lösch-Handler 16 durchgeführt wird,
wird eine Operation des Löschens auf
Null als eine Subroutine erachtet.
-
15 ist
ein Ablaufplan, der eine Vorgehensweise des Ereignisanalyse-Handlers 11 darstellt.
-
Die
Schritte S101 bis S103 in 15 bilden eine „Schleifenprozedur" zum Scannen eines
Ereignisses. Diese Schleifenprozedur überprüft, ob ein externes Ereignis
auftritt (Schritt S101), ob Operationen durch den Lese-/Schreib-Handler 14 und
den Lösch-Handler 16 abgeschlossen
worden sind (Schritt S102) und ob die Vorgehensweise des Zeitsteuereinheit-Handlers 13 abgeschlossen
worden ist (Schritt S103).
-
Eine
Vorgehensweise der Schritte von S104 bis S109 ist durchzuführen, wenn
das Auftreten eines externen Ereignisses in dem Schritt S101 erfasst wird.
-
In
dem Schritt S104 wird eine Ereignisanalyse durchgeführt, um
festzustellen, ob es sich bei einem externen Ereignis um einen EC-Befehl
handelt oder nicht, und wenn die Feststellung eine bejahende ist,
werden die Inhalte des EC-Befehls analysiert. Wenn es sich bei einem
externen Ereignis um einem EC-Befehl handelt, der Lese- und Schreiboperationen
in einer Datei in dem externen Flash-Speicher 2 anweist,
das heißt,
ein Lese-/Schreib-Befehl, werden eine Lese-/Schreib-Ereignis und
ein Befehlsstart-Ereignis generiert (der Schritt S106). Anschließend kehrt
die Vorgehensweise des Ereignisanalyse-Handlers 11 zurück zu der
Schleifenprozedur der Schritte S101 bis S103.
-
Wenn
es sich bei dem externen Ereignis um einen EC-Befehl handelt, der
ein Löschen
einer Datei auf dem externen Flash-Speicher 2 anweist,
das heißt
ein Löschbefehl,
werden ein Lösch-Ereignis und
ein Befehlsstart-Ereignis generiert (Schritt S108). Anschließend kehrt
die Vorgehensweise des Ereignisanalyse-Handlers 11 zurück zu der
Schleifenprozedur der Schritte S101 bis S103.
-
Wenn
ein anderes als die voranstehend beschriebenen externen Ereignisse
auftritt, wird eine Operation entsprechend dem Ereignis durchgeführt (Schritt
S109). Anschließend
kehrt die Vorgehensweise des Ereignisanalyse-Handlers 11 zurück zu der
Schleifenprozedur der Schritte S101 bis S103.
-
Die
Schritte S110 und S111 werden durchgeführt, wenn die Vorgehensweise
durch den Lese-/Schreib-Handler 14 und den Lösch-Handler 16 abgeschlossen
worden sind. In diesen Schritten wird eine EC-Antwort an die EC-Client-Anwendung 8 ausgegeben,
die einen Befehl ausgegeben hat, und es wird ein Befehlsende-Ereignis
in der Anwendungsschnittstelle API 10 generiert.
-
Der
Schritt S112 wird durchgeführt,
wenn der Zeitsteuereinheit-Handler 13 ein Timeout anweist.
In diesem Ereignis wird ein Anhalte-Ereignis generiert.
-
16 ist
ein Ablaufplan, der eine Vorgehensweise des Nicht-Befehls-Ausführungs-Handlers 12 illustriert.
Die Schritte S1 und S2 bilden eine Schleifenprozedur, in der überprüft wird,
ob ein Befehlsstart-Ereignis generiert wird (Schritt S1) und ob eine
Löschoperations-Verwaltungstabelle
vorhanden ist (Schritt S2). In Schritt S2 wird in jedem Zyklus der Schritte
S1 und S2 festgestellt, ob eine Löschoperations-Verwaltungstabelle
vorhanden ist oder nicht. Wenn eine Löschoperations-Verwaltungstabelle
vorhanden ist, wird eine Subroutine des Löschens auf Null aufgerufen
(Schritt S4). Hierbei wird das Überschreiben
von Fragmenten durch den Nicht-Befehls-Ausführungs-Handler 12 in
einer Leerlaufzeit durchgeführt,
während
der keine anderen Ereignis-Handler arbeiten. Dementsprechend wird,
selbst wenn es aufgrund der Eigenschaft einer Halbleiter-Speicherkarte eine
lange Zeit dauert, eine Datei zu überschreiben, der Benutzer
durch die Länge nicht
gestört.
-
17 ist
ein Ablaufplan, der eine Vorgehensweise des Lese-/Schreib-Handlers 14 illustriert. Ein
Verschlüsselungsschlüssel, der
einer Datei entspricht, für
die Lese- und Schreiboperationen durchgeführt werden sollen, wird in
Schritt S20 von der Verschlüsselungsschlüssel-Tabelle 15 erhalten.
In Schritt S21 wird festgestellt, ob eine Schreiboperation durchgeführt werden
soll oder nicht. Wenn eine Schreiboperation durchgeführt wird,
werden Daten von der EC-Client-Abwendung 8 mit dem in Schritt S20
erhaltenen Verschlüsselungsschlüssel verschlüsselt (Schritt
S22), und die verschlüsselten
Daten werden in den sicheren Flash-Speicher 2 geschrieben
(Schritt S23).
-
Im
Gegensatz dazu werden, wenn das Feststellen in Schritt S21 anzeigt,
dass eine Leseoperation durchgeführt
werden soll, verschlüsselte
Daten, die durch die EC-Client-Anwendung 8 erfordert
werden, von dem sicheren Flash-Speicher 2 gelesen (Schritt
S24). Die verschlüsselten
Daten, die von dem sicheren Flash-Speicher 2 gelesen wurden,
werden anschließend
unter Verwendung des in Schritt S20 erhaltenen Verschlüsselungsschlüssels entschlüsselt und
an die EC-Client-Anwendung 8 weitergeleitet (Schritt S25).
-
In
Schritt S26 wird festgestellt, ob eine Löschoperations-Verwaltungstabelle
vorhanden ist oder nicht. Wenn keine Löschoperations-Verwaltungstabelle
vorhanden ist, ist die Vorgehensweise abgeschlossen. Wenn eine Löschoperations-Verwaltungstabelle
jedoch vorhanden ist, wird in Schritt S27 eine Operation des Löschens auf
Null durchgeführt.
-
18 ist
ein Ablaufplan, der eine Vorgehensweise des Lösch-Handlers 16 illustriert.
Zuerst werden in Schritt S11 Datensätze in Eins-zu-Eins-Entsprechung
mit Dateifragmenten generiert. Die Werte der Einträge START
ADR und END ADR in jedem Datensatz werden in Schritt S12 auf die
Werte der Start- und Endadressen eines entsprechenden Dateifragmentes
eingestellt. In Schritt S13 wird der Wert des Eintrages VALID FLAG
in jedem Datensatz auf dem Wert „1" eingestellt, wodurch angezeigt wird,
dass ein entsprechendes Fragment gelöscht wird. In Schritt S14 wird
der Wert des Eintrages CLEARED ADR in jedem Datensatz auf den Wert
der Startadresse eines entsprechenden Dateifragmentes eingestellt.
-
Unter
einer Vielzahl von Verschlüsselungsschlüsseln in
der Verschlüsselungsschlüssel-Tabelle 15 wird in
Schritt S15 ein Verschlüsselungsschlüssel, der
einer Datei, die gelöscht
werden soll, entspricht, gelöscht.
Durch dieses Löschen
des Verschlüsselungsschlüssels wird
es unmöglich,
die Datei zu entschlüsseln.
-
Nachdem
ein Dateieintrag in Schritt S16 auf Null gelöscht worden ist, wird in Schritt
S17 festgestellt, ob ein Anhalte-Ereignis generiert wird oder nicht.
Die Vorgehensweise des Lösch-Handlers 16 wird
beendet, wenn ein Anhalte-Ereignis generiert wird.
-
Wenn
kein Anhalte-Ereignis generiert wird, wird in Schritt S18 eine Dateizuordnungstabelle
FAT auf Null gelöscht.
Da in dieser Phase ein Dateieintrag und eine Dateizuordnungstabelle
FAT auf Null gelöscht
worden sind, haben Fragmente, die ein Dateiobjekt einer Datei bilden,
die Verbindungsbeziehungen dazwischen verloren und sind voneinander
getrennt worden.
-
Daran
anschließend
wird in Schritt S19 festgestellt, ob ein Anhalte-Ereignis generiert
wird. Wenn ein Anhalte-Ereignis generiert wird, wird die Vorgehensweise
des Lösch- Handlers 16 beendet.
Wenn kein Anhalte-Ereignis generiert wird, werden in Schritt S20
Fragmente einer Datei auf Null gelöscht.
-
Anschließend wird
die Vorgehensweise der Schritte S19 bis S20 wiederholt. Auf diese
Weise wird das Überschreiben
von Fragmenten durch den Lösch-Handler 16 so
lange fortgesetzt, bis die Zeitsteuereinheit ein Timeout anweist.
-
19 ist
ein Ablaufplan, der eine Vorgehensweise einer Subroutine zum Löschen auf
Null illustriert. Der erste Datensatz von den Datensätzen, die
einen Wert des Eintrages VALID FLAG aufweisen, der auf den Wert „1" eingestellt wird,
wird in Schritt S3 als ein Datensatz s ausgewählt. Es wird festgestellt,
ob eine Datenlänge
von einer gelöschten Adresse
zu einer Endadresse länger
oder kürzer
ist als eine Einheitslänge
X, um einen Schritt zu bestimmen, der nach Schritt S31 durchzuführen ist.
Diese Feststellung wird in Schritt S32 getroffen. Dies bedeutet,
dass festgestellt wird, ob eine Adresse, die durch Addieren der
Einheitslänge
X des Überschreibens
auf die gelöschte
Adresse erhalten wird, kürzer ist
als die Endadresse des Datensatzes s. Wenn die Feststellung bejahend
ist, werden im Anschluss die Schritte S33 bis S35 durchgeführt. In
diesen Schritten wird die externe Speichersteuereinheit 4 angewiesen,
die Daten mit X Bytes beginnend mit der gelöschten Adresse in einem entsprechenden
Fragment zu überschreiben
(Schritt S33). Wenn das Überschreiben
durch die externe Speichersteuereinheit 4 abgeschlossen
ist (Schritt S24) wird die gelöschte
Adresse auf (die gelöschte
Adresse plus X) aktualisiert (Schritt S35).
-
Wenn
eine Datenlänge
von der gelöschten Adresse
bis zur Endadresse länger
ist als die Einheitslänge
X, werden die Schritte S36 bis S39 durchgeführt, um den Überhang
an Datenlänge
anzugehen. In Übereinstimmung
mit diesen Schritten wird die Einheitslänge X so umgewandelt, dass
sie einem Wert entspricht, der durch Subtrahieren der gelöschten Adresse
von der Endadresse (Schritt S36) erhalten wird, entspricht. Anschließend wird
eine Anweisung an die externe Speichersteuereinheit 4 erteilt, dass
Daten mit X Bytes beginnend mit der gelöschten Adresse mit Null-Codes
zu überschreiben
sind (Schritt S37). Wenn das Überschreiben
abgeschlossen ist, wird der Wert des Eintrages VALID FLAG des Datensatzes
s auf den Wert „0" eingestellt (Schritt S39).
In Schritt S40 wird festgestellt, ob der Wert des Eintrages VALID
FLAG in allen der Datensätze
auf den Wert „0" eingestellt ist.
Wenn die Feststellung bejahend ist, geht die Vorgehensweise in Schritt
S42 über,
wodurch eine Löschoperations-Verwaltungstabelle
gelöscht
wird.
-
Hierbei
werden die Operationen durch den Nicht-Befehls-Ausführungs-Handler 12,
den Lese-/Schreib-Handler 14 und den Lösch-Handler 16 zum
Löschen
einer Datei, deren Namen EOB001.SE1 ist und die in einem Hauptinhaltsverzeichnis
gespeichert ist, als ein Beispiel in Bezug auf die 20 und 21 beschrieben. 20 illustriert einen
Eintrag in ein Hauptinhaltsverzeichnis und eine Dateizuordnungstabelle
FAT für
die Datei nach einer Operation durch den Lösch-Handler 16 in
Reaktion auf ein Lösch-Ereignis
an der Datei, die wie in 10 beschrieben
gespeichert ist. Wenn ein Lösch-Ereignis
für die
Datei „EOB001.SE1" generiert wird,
wird eine Löschoperations-Verwaltungstabelle
der Datei erstellt, und die Einträge FILE NAME, FILE EXTENSION
und FIRST CLUSTER NUMBER des Dateieintrages für die Datei und die Einträge in der
Dateizuordnungstabelle FAT, 003, 004, 005 00A und 00C werden mit
Null-Codes überschrieben.
Nach diesem Überschreiben
durch den Lösch-Handler 16 startet eine
Operation durch den Nicht-Befehls-Ausführungs-Handler 12.
-
21 illustriert
den Eintrag in dem Hauptinhaltsverzeichnis und die Dateizuordnungstabelle
FAT nach dem Überschreiben
durch den Nicht-Befehls-Ausführungs-Handler 12 und
den Lösch-Handler 16.
Wenn die Löschoperations-Verwaltungstabelle
für die
Fragmente der Datei durch den Lösch-Handler 16 erstellt
worden ist, sind die Cluster 003, 004, 005, 00A und 00C, die die
Fragmente speichern, mit Null-Codes überschrieben worden.
-
Wenn,
wie dies voranstehend beschrieben worden ist, ein EC-Befehl, der
durch die EC-Client-Anwendung 8 ausgegeben
wird, das Löschen
einer Datei anweist, wird eine Operation des Löschens auf Null kontinuierlich
so lange durch den Lösch-Handler 16 durchgeführt, bis
der Zeitsteuereinheit-Handler 133 ein Timeout anweist.
Die Operation des Lösch-Handlers 16 wird
in Übereinstimmung mit
dem Auftreten des Timeouts beendet. Dementsprechend kann ein Zeitraum
beginnend mit dem Ausgeben eines EC-Befehls durch die EC-Client-Anwendung 8 bis
zu dem Ausgeben einer EC-Antwort durch den Ereignisanalyse-Handler 11 verkürzt werden.
Dadurch kann ein Verarbeitungszeit, die für das Verarbeiten eines EC-Befehls
erforderlich ist, verkürzt
werden, und dadurch wird ein Benutzer der EC-Client-Anwendung 8 nicht
frustriert.
-
Der
Verarbeitungsaufwand für
das Überschreiben
der Datei, die bisher noch nicht auf Null gelöscht worden ist, wird so aufgeteilt,
dass er durch andere Ereignis-Handler als der Lösch-Handler 16, so wie
beispielsweise durch den Nicht-Befehls-Ausführungs-Handler 12 und den Lese-/Schreib-Handler 14 in
einer Vielzahl von Leerlaufzeiten durchgeführt wird. Dementsprechend kann
das Überschreiben
eines Dateiobjektes abgeschlossen werden, ohne dass dabei dem Benutzer
eine lange Löschprozedur lästig wird,
obgleich eine Operation des Überschreibens
in dem EEPROM 3 eine lange Zeit erfordert und jedes Fragment
Daten einer enormen Größenordnung
aufweist.
-
Zusätzlich dazu
wird ein Verschlüsselungsschlüssel, der
für das
Lesen einer verschlüsselten Datei
von entscheidender Wichtigkeit ist, an allererster Stelle auf Null
gelöscht.
Aus diesem Grund wird, selbst wenn ein Benutzer die SDeX-Speicherkarte 400 gewaltsam
aus der tragbaren SD-Vorrichtung 300 inmitten der Vorgehensweise
des Löschens durch
den Lösch-Handler 16 entnimmt,
die verschlüsselte
Datei immer noch ausreichend geschützt.
-
(Zweite Ausführungsform)
-
In Übereinstimmung
mit der ersten Ausführungsform
wird das Überschreiben
eines Fragmentes mit Null-Codes von einer Anfangsadresse an in Richtung
einer Endadresse des Fragmentes, das heißt, in einer Vorwärtsrichtung,
durchgeführt.
In Übereinstimmung
mit einer zweiten Ausführungsform
wird das Überschreiben
nicht nur in eine Vorwärtsrichtung sondern
auch auf verschiedene Arten und Weisen durchgeführt.
-
22 zeigt
ein Beispiel einer Löschoperations-Verwaltungstabelle
in Bezug auf die zweite Ausführungsform.
Wie dies in 22 dargestellt ist, besitzt
ein Datensatz der Tabelle zusätzlich
einen Eintrag CLEAR METHOD („LÖSCHVERFAHREN").
-
In
dem Eintrag CLEAR METHOD wird ein Verfahren von FORWARD (VORWÄRTS), BACKWARD
(RÜCKWÄRTS), EVEN/ODD
(GERADE/UNGERADE) und ODD/EVEN (UNGERADE/GERADE) eingestellt. Wenn
der Eintrag CLEAR METHOD (LÖSCHVERFAHREN)
auf FORWARD eingestellt wird, wird das Überschreiben eines Fragmentes
mit Null-Codes ordnungsgemäß beginnend
an einer gelöschten
Adresse in Richtung einer Endadresse, so wie in der ersten Ausführungsform,
durchgeführt. Wenn
der Ein trag CLEAR METHOD auf BACKWARD eingestellt wird, wird das Überschreiben
beginnend an einer gelöschten
Adresse in Richtung einer Anfangsadresse durchgeführt.
-
Wenn
der Eintrag CLEAR METHOD auf EVEN/ODD eingestellt wird, werden zuerst
die Daten an geradzahligen Adressen auf Null gelöscht und anschließend die
Daten an den ungeradzahligen Adressen beginnend mit einer gelöschten Adresse
in Richtung einer Endadresse auf Null gelöscht.
-
Wenn
der Eintrag CLEAR METHOD auf ODD/EVEN eingestellt wird, werden zuerst
die Daten an ungeradzahligen Adressen auf Null gelöscht und anschließend die
Daten an den geradzahligen Adressen beginnend mit einer gelöschten Adresse
in Richtung einer Endadresse auf Null gelöscht.
-
Ein
Löschverfahren
für Fragmente
kann auf Rotationsbasis durch den Lösch-Handler 16 ausgewählt werden.
Genauer gesagt, kann eine Operation des Löschens auf Null in Vorwärtsrichtung
für das erste
Fragment ausgewählt
werden, eine Operation des Löschens
auf Null in Rückwärtsrichtung
kann für das
zweite Fragment ausgewählt
werden, eine Operation des Löschens
auf Null in Gerade-/Ungerade-Reihenfolge kann für das dritte Fragment und eine Operation
des Löschens
auf Null in Ungerade-/Gerade-Reihenfolge
kann jeweils für
das fünfte
und die darauffolgenden Fragmente ausgewählt werden.
-
Alternativ
dazu kann ein Löschverfahren
für Fragmente
auch auf Zufallsbasis ausgewählt
werden. Im Einzelnen bedeutet dies, dass Zufallszahlen von 1 bis
4 durch den Lösch-Handler 16 generiert werden,
und dass eine Operation des Löschens
auf Null in einem Löschverfahren,
das durch eine der Zahlen angezeigt wird, durchgeführt wird.
-
Darüber hinaus
kann ein Lösch-Verfahren
in Übereinstimmung
mit einem Parameter, der durch die EC-Client-Anwendung empfangen
wird, bestimmt werden.
-
23 zeigt
eine Vorgehensweise einer Subroutine des Löschens auf Null in Bezug auf
die zweite Ausführungsform.
Der erste Datensatz von Datensätzen,
bei denen ein Wert des Eintrages VALID FLAG auf „1" eingestellt wird, wird in Schritt S31
als ein Datensatz s ausgewählt.
Der Eintrag CLEAR METHOD des Datensatzes s wird in Schritt S51 herangezogen.
Wenn der Eintrag CLEAR METHOD auf FORWARD eingestellt wird, wird
in Schritt S50 eine Operation des Löschens auf Null in der gleichen
Vorgehensweise wie in den Schritten S32 bis S40, die in dem Ablaufplan
von 19 dargestellt ist, durchgeführt.
-
Wenn
der Eintrag CLEAR METHOD auf BACKWARD eingestellt wird (Schritt
S53), wird eine Operation des Löschens
auf Null in der Vorgehensweise, die in dem Ablaufplan von 24 beschrieben
ist, durchgeführt.
-
Wenn
der Eintrag CLEAR METHOD auf EVEN/ODD eingestellt wird (Schritt
S54), werden die Daten an geradzahligen Adressen nach einer gelöschten Adresse
in derselben Vorgehensweise wie die Schritte S32 bis S40 des Ablaufplans
von 19 auf Null gelöscht (Schritt S55). Wenn die
Daten an geradzahligen Adressen vollständig auf Null gelöscht worden
sind (Schritt S56), werden die Daten an den ungeradzahligen Adressen
nach der gelöschten Adresse
in Schritt S57 in derselben Vorgehensweise wie in den Schritten
S32 bis S40 in dem in 19 dargestellten Ablaufplan
auf Null gelöscht.
-
Wenn
der Eintrag CLEAR METHOD auf ODD/EVEN eingestellt wird (Schritt
S58), werden die Daten an den ungeradzahligen Adressen nach der gelöschten Adresse
in der gleichen Vorgehensweise als wie in den Schritten S32 bis
S40 in dem in 19 dargestellten Ablaufplan
auf Null gelöscht
(Schritt S57). Wenn die Daten an den ungeradzahligen Adressen vollständig gelöscht worden
sind (Schritt S59), werden die Daten an den geradzahligen Adressen
nach der gelöschten
Adresse in derselben Vorgehensweise wie in den Schritten S32 bis
S40 des in 19 dargestellten Ablaufplans
auf Null gelöscht.
-
24 ist
ein Ablaufplan, der eine Vorgehensweise einer Operation des Löschens auf
Null in Rückwärtsrichtung
illustriert. Wenn ein Vergleich mit der in 19 beschriebenen
Subroutine des Löschens
auf Null durchgeführt
wird, wird eine Beziehung zwischen der Anfangsadresse und einer
Endadresse in der Operation des Löschens auf Null in Rückwärtsrichtung
umgekehrt. In Schritt S61 wird festgestellt, ob eine Adresse, die
durch Subtrahieren der Überschreibungseinheitslänge X von
einer gelöschten
Adresse erhalten wird, länger
ist als eine Anfangsadresse eines Datensatzes s. Wenn die Feststellung
bejahend ausfällt,
wird die externe Speichersteuereinheit 4 Schritt S62 angewiesen,
die Daten von X Bytes von einer Adresse (der gelöschten Adresse-X) eines Fragmentes
in zu überschreiben. Wenn
das Überschreiben
durch die externe Speichersteuereinheit 4 abgeschlossen
ist (Schritt S63), wird die gelöschte
Adresse in Schritt S64 auf die Adresse (die gelöschte Adresse-X) aktualisiert.
-
Wenn
eine Adresse (die gelöschte
Adresse – die Überschreibungseinheitslänge X) kürzer ist
als eine Anfangsadresse des Datensatzes s, wird die Einheitslänge X so
umgewandelt, dass sie einem Wert entspricht, der durch Subtrahieren
der Anfangsadresse von der gelöschten
Adresse (Schritt S65) erhalten wird. Anschließend wird in Schritt S66 die
externe Speichersteuereinheit 4 angewiesen, die Daten von
X Bytes beginnend mit der Start-Adresse mit Null-Codes zu überschreiben.
Wenn das Überschreiben
abgeschlossen ist (Schritt S67), wird der Wert des Eintrages VALID
FLAG des Datensatzes s auf „0" eingestellt (Schritt
S68). In Schritt S69 wird festgestellt, ob der Wert des Eintrages
VALID FLAG in sämtlichen
Datensätzen
auf „0" eingestellt ist.
Wenn die Feststellung bejahend ausfällt, wird die Löschoperations-Verwaltungstabelle
in Schritt S70 gelöscht.
-
Wie
dies voranstehend beschrieben worden ist, kann in der zweiten Ausführungsform
einem jeden Fragment ein anderes Löschverfahren zugewiesen werden.
Daraus folgt, dass verschiedene Arten von Löschverfahren kombiniert werden,
so dass ein Entweichen von Inhalten von Fragmenten, die gelöscht werden
sollen, verhindert werden kann.
-
(Dritte Ausführungsform)
-
In Übereinstimmung
mit einer dritten Ausführungsform
wird das Überschreiben
mit Null-Codes, das
in der ersten Ausführungsform
beschrieben worden ist, dann begrenzt, wenn eine Halbleiter-Speicherkarte
eine Stromversorgung von der Karten-Schreib-/Leseeinrichtung 200 empfängt. Wenn die
SDeX-Speicherkarte 400 über
die Karten-Schreib-/Leseeinrichtung 200 Zugriff
auf den EC-Server 100 erlangt, empfängt die SDeX-Speicherkarte 400 eine
Stromversorgung über
eine Wendelantenne in der Rückfläche der
tragbaren SD-Vorrichtung 300, wie dies in der ersten Ausführungsform be schrieben
worden ist. Da die Funkwellen-Stromversorgung instabil und gering
ist, sollte eine unnötige
Belastung der SDeX-Speicherkarte 400 vorzugsweise vermieden
werden.
-
In Übereinstimmung
mit der dritten Ausführungsform
werden die folgenden Operationen durch die tragbare SD-Vorrichtung 300 und
den Lösch-Handler 16 durchgeführt.
-
Wenn
die tragbare SD-Vorrichtung 300 auf die Karten-Schreib-/Leseeinrichtung 200 zugreift, gibt
sie einen erweiterten SD-Befehl aus, um der SDeX-Speicherkarte 400 mitzuteilen,
dass sie kontaktlose Stromversorgung empfängt. Wenn im Gegensatz dazu
die tragbare SD-Vorrichtung 300 den Zugriff auf die Karten-Schreib-/Leseeinrichtung 200 unterbricht,
gibt sie einen erweiterten SD-Befehl aus, um der SDeX-Speicherkarte 400 mitzuteilen,
dass die kontaktlose Stromversorgung gestoppt worden ist. Ob die
tragbare SD-Vorrichtung 300 auf die Karten-Schreib-/Leseeinrichtung 200 zugreift
oder den Zugriff auf sie unterbricht, wird anhand dessen bestimmt,
ob die tragbare SD-Vorrichtung 300 einen Sendeaufruf-(Polling)
Befehl von der Karten-Schreib-/Leseeinrichtung 200 empfängt.
-
Wenn
ein erweiterter SD-Befehl zum Mitteilen des Vorhandenseins der kontaktlosen
Stromversorgung von der tragbaren SD-Vorrichtung empfangen wird,
begibt sich der Lösch-Handler 16 in
einen Modus der kontaktlosen Stromversorgung. Wenn sich der Lösch-Handler 16 in
diesem Modus befindet, werden eine Sicherheitskopie eines Dateieintrages und
eine Dateizuordnungstabelle FAT generiert, und es werden lediglich
ein Dateieintrag und eine Dateizuordnungstabelle FAT in Übereinstimmung
mit einem Lösch-Ereignis überschrieben.
Dies bedeutet, dass lediglich eine Sicherheitskopie eines Dateieintrages
und eine Dateizuordnungstabelle FAT generiert werden, und dass keine
Löschoperations-Verwaltungstabelle
erstellt wird. Dementsprechend wird keine Operation des Löschens auf
Null durch andere Ereignis-Handler durchgeführt.
-
Wenn
danach ein erweiterter SD-Befehl zum Mitteilen, dass eine kontaktlose
Stromversorgung gestoppt worden ist, durch die tragbare SD-Vorrichtung 300 ausgegeben
wird, tritt der Lösch-Handler 16 aus dem
Modus der kontaktlosen Stromversorgung, und es wird auf Basis der
Sicherheitskopie des Dateieintrages und einer Dateizuordnungstabelle
FAT eine Löschoperations-Verwaltungstabelle
erstellt. Aufgrund des Generierens der Löschoperations-Verwaltungstabelle
wird eine Operation des Löschens
auf Null durch Ereignis-Handler, die andere sind als der Lösch-Handler 16,
gestartet.
-
In Übereinstimmung
mit der dritten Ausführungsform
wird eine Operation des Löschens
auf Null an einem Dateiobjekt nicht durchgeführt, wenn die SDeX-Speicherkarte 400 durch
Stromversorgung von der Karten-Schreib-/Leseeinrichtung 200 betrieben
wird, wie dies voranstehend beschrieben worden ist. Dementsprechend
wird der SDeX-Speicherkarte 400 keine
unnötige
Belastung auferlegt. Dadurch wird eine stabile Funktionsweise der
SDeX-Speicherkarte 400 realisiert.
-
(Vierte Ausführungsform)
-
In
der ersten, der zweiten und der dritten Ausführungsform sind der Speicher
3 in
dem manipulationsgeschützten
Modul TRM
1 und der externe Flash-Speicher
2 jeweils
durch einen EEPROM und einen Flash-Speicher gebildet. In Übereinstimmung mit
einer vierten Ausführungsform
sind der Speicher
3 in dem manipulationsgeschützten Modul
TRM
1 und der externe Speicher
2 jedoch durch
zwei Speichermodule gebildet.
25 illustriert
die Struktur eines jeden des internen Speichers
3 und des
externen Speichers
2 in Bezug auf die vierte Ausführungsform. Wie
dies in
25 dargestellt ist, sind ein
EEPROM
3a und ein Flash-Speicher
2a Hauptspeichermodule und
jeweils die gleichen wie der EEPROM
3 und der Flash-Speicher
2 in
der ersten bis sechsten Ausführungsform.
Zusätzlich
zu diesen Hauptspeichermodulen, werden Hilfsspeichermodule
2b und
3b jeweils
für den
externen Speicher
2 und den internen Speicher
3 in
der vierten Ausführungsform
bereitgestellt. Diese Hilfsspeichermodule
2b und
3b sind
Ferro Electric Random Access Memories (FeRAMs), und ihre Leistung
weicht signifikant von der eines Flash-Speichers ab.
26 vergleicht
die Leistung eines Flash-Speichers mit der Leistung eines FeRAM.
In Übereinstimmung
mit
26 ist ein Flash-Speicher kostengünstig und
für das
Speichern von Daten mit einer großen Kapazität (in der Figur durch O dargestellt)
geeignet. Die Einheit des Schreibens von Daten ist jedoch ein Block
(durch
1
dargestellt). Hierbei nimmt die Größe eines solchen Blockes zu,
wenn die Kapazität
eines Flash-Speichers ansteigt. Dementsprechend bedeutet das Schreiben von
Daten einer kleinen Größenordnung
einen großen
Verlust an Kapazität.
Zusätzlich
dazu ist die Zeit, die für
das Schreiben erforderlich ist, lang (10.000 ns), und die Anzahl
von möglichen
Schreiboperationen ist klein (1.000.000). Darüber hinaus wird das Schreiben
von Daten nur dann durchgeführt,
nachdem die Daten, die gespeichert worden sind, einmalig gelöscht werden,
wodurch die Schreibleistung instabil gemacht wird (durch
2
dargestellt).
-
Im
Gegensatz dazu ist, obgleich ein FeRAM teuer ist und für das Speichern
von Daten einer großen
Kapazität
(dargestellt durch Δ)
nicht geeignet ist, die Einheit des Schreibens von Daten ein Byte,
und eine Zeit, die für
das Schreiben erforderlich ist, ist kurz (30 bis 100 ns). Zusätzlich dazu
ist die Anzahl von Schreiboperationen groß.
-
Unter
Anbetracht eines solchen Unterschiedes bei der Leistung kann, wenn
ein FeRAM als ein Hilfsspeichermodul zum Speichern eines Dateieintrages,
einer Dateizuordnungstabelle FAT und Ähnlichem, die oft aktualisiert
werden, verwendet wird, eine Schreibleistung des Flash-Speichers 2a kompensiert
werden. 27 zeigt einen FeRAM, der häufig aktualisierte
Daten, wie beispielsweise einen Dateieintrag, eine Dateizuordnungstabelle
FAT und eine Löschoperations-Verwaltungstabelle
speichert.
-
In Übereinstimmung
mit der vierten Ausführungsform
wird ein FeRAM als ein Hilfsspeichermodul zum Speichern von häufig aktualisierten
Daten einer kleinen Größenordnung
wie beispielsweise eines Dateieintrages und einer Dateizuordnungstabelle FAT
verwendet. Dadurch kann eine Operation des erneuten Schreibens mit
Hochgeschwindigkeit an einem Dateieintrag und einer Dateizuordnungstabelle FAT
erzielt werden.
-
Ein
FeRAM hat eine Eigenschaft des destruktiven Auslesens (durch
4
angezeigt). Dies bedeutet, dass, wenn einmal die gespeicherten Daten ausgelesen
sind, die Inhalte der gespeicherten Daten von einem Speichermedium
gelöscht
werden. Diese Eigenschaft wird bevorzugt, um eine gründliche
Geheimhaltung sicherzustellen. In Übereinstimmung mit dieser Eigenschaft
erfordert jedoch jedes Auslesen von Daten das Schreiben der Daten
ein wiederholtes Mal, wodurch die letztendliche Anzahl von Malen
erhöht
wird, mit denen Daten geschrieben werden. Es sollte bevorzugt ein
magnetoresistiver RAM verwendet werden, um die Eigenschaft des destruktiven Auslesens
zu verhindern.
-
(Fünfte
Ausführungsform)
-
In
der vierten Ausführungsform
wird ein FeRAM als ein Hilfsspeichermodul verwendet. In einer fünften Ausführungsform
wird jedoch nur ein FeRAM für
den Speicher 3 in dem manipulationsgeschützten Modul
TRM 1 verwendet. 28 zeigt
eine interne Struktur des internen Speichers 3 in Bezug
auf die fünfte
Ausführungsform.
Hierbei weist der Speicher 3 in dem TRM 1 eine
kleine Größe auf.
Dementsprechend steigen die Herstellungskosten für den Speicher 3 nicht
dramatisch an, selbst wenn ein FeRAM für den internen Speicher 3 verwendet
wird. In der fünften
Ausführungsform
ist der Speicher 3 in dem manipulationsgeschützten Modul
TRM 1 durch lediglich einen FeRAM gebildet, es sollte jedoch
beachtet werden, dass er auch durch lediglich einen MRAM (magnetoresistiver
RAM) gebildet sein kann.
-
(Sechste Ausführungsform)
-
In Übereinstimmung
mit einer sechsten Ausführungsform
werden die Verwaltungsinformationen für eine Datei mit einem Schlüssel verschlüsselt, der sich
von einem Verschlüsselungsschlüssel für ein Dateiobjekt
der Datei unterscheidet. Solch ein Verschlüsselungsschlüssel für Dateiverwaltungsinformationen
wird in dem Speicher 3 in dem manipulationsgeschützten Modul
TRM 1 gespeichert. Wenn ein Löschen einer Datei angewiesen
wird, wird das Überschreiben
eines Verschlüsselungsschlüssels für die Dateiverwaltungsinformationen
durch den Lösch-Handler 16 vor
dem Überschreiben
eines Verschlüsselungsschlüssels für ein Dateiobjekt
zusätzlich
zu der Vorgehensweise durchgeführt,
die in der ersten Ausführungsform
beschrieben worden ist.
-
Die
Verwaltungsinformationen für
eine Datei werden mit anderen Verschlüsselungsschlüsseln verschlüsselt. Wenn
dementsprechend das Löschen einer
Datei angewiesen wird, kann das Lesen der Datei sofort trotz der
Größe der Verwaltungsinformationen
unmöglich
gemacht werden.
-
(Modifizierungsbeispiele)
-
Die
voranstehend angeführte
Beschreibung erwähnt
nicht alle Ausführungsformen
der vorliegenden Erfindung. Die vorliegende Erfindung kann durch Ausführungsformen
realisiert werden, die die folgenden Modifizierungen (A) bis (E)
umfassen. Dennoch um fassen die folgenden Modifizierungen nicht die Ausführungsformen
der Erfindungen, die in den Ansprüchen offenbart sind, wenn diese
auf Basis der Beschreibung der beigefügten Figuren sowie öffentlich
bekannter Technologie zum Zeitpunkt der Anwendung durch Personen
mit der gewöhnlichen
Erfahrung auf dem Gebiet der Technik antizipiert werden können.
- (A) Als ein Beispiel wird eine EC-Client-Anwendung
genommen, die vorliegende Erfindung kann jedoch auch auf andere
Anwendungen angewendet werden. So kann die vorliegende Erfindung beispielsweise
auf Serveranwendungen auf einer Servervorrichtung angewendet werden,
die durch die Verkehrsindustrie beispielsweise Eisenbahngesellschaften,
Fluggesellschaften, Busunternehmen und Expresslieferunternehmen
und entsprechende Client-Anwendungen angewendet werden. Dementsprechend
kann die SDeX-Speicherkarte 400 an Zugfahrkarten-Schranken
und für
die Vorgehensweise des Anbordgehens verwendet werden.
- Alternativ dazu kann die vorliegende Erfindung auf Serveranwendungen
einer Servervorrichtung, die sich im Besitz von Regierungs- und
lokalen Organisationen befindet sowie auf entsprechende Client-Anwendungen
angewendet werden. Auf diese Weise kann die SDeX-Speicherkarte 400 für Einwohnermeldescheine,
verschiedene Arten von Nachweisen und Einträgen verwendet werden.
- (B) Die Informationsverarbeitung durch Programme, die in den 15 bis 19, 23, 24 illustriert
ist, wird physisch mit Hilfe von Hardwareressourcen, wie beispielsweise
einer zentralen Rechnereinheit CPU und einem EEPROM realisiert.
Dies bedeutet, dass eine physische Einheit, die durch Kombinieren
von Programm- und Hardwareressourcen erhalten wird, Informationsverarbeitung
durchführt,
um einen bestimmten Zweck zu erzielen. Auf diese Weise kann die
SDeX-Speicherkarte 400, die in jeder der ersten bis sechsten Ausführungsform
beschrieben wird, realisiert werden.
- Die Informationsverarbeitung durch Programme wird physisch mit
Hilfe von Hardwareressourcen realisiert. Dementsprechend können die
Programme, deren Vorgehensweisen in den voranstehend beschriebenen
Figuren dargestellt sind, als Produkte von technischen Ideen unter
Anwendung von Naturgesetzen erachtet werden, und die Programme selbst
können
als eine Erfindung erachtet werden. Dementsprechend offen baren die 15 bis 19, 23 und 24 Ausführungsformen
der Programme in Übereinstimmung mit
der vorliegenden Erfindung.
- Die erste bis sechste Ausführungsform
beschreiben die Ausführungsformen
des Anwendens der Programme in Übereinstimmung
mit der vorliegenden Erfindung, wobei die Programme in der SDeX-Speicherkarte 400 integriert
sind. Die Programme, die in der ersten bis sechsten Ausführungsform
illustriert sind, können
für die
Verwendung jedoch auch von der SDeX-Speicherkarte getrennt verwendet
werden. Hierbei umfasst das Anwenden der Programme selbst die Handlungen von
(1) dem Erzeugen des Programms, (2) dem Zuweisen der Programme kostenlos
oder mit Gewinn, dem (3) Leasen der Programme, (4) dem Importieren
der Programme, (5) dem Bereitstellen der Programme für die Öffentlichkeit über Zwei-Wege-Kommunikationsleitungen
und (6) dem Anbieten von Zuweisen oder Leasen der Programme an öffentliche
Benutzer durch Werben für
die Programme im Schaufenster und über die Verteilung von Broschüren und
Katalogen.
- Ein typisches Beispiel der Handlung des Bereitstellens der Programme über Zwei-Wege-Kommunikationsleitungen
(5) ist der Dienst zum Herunterladen von Programmen, wodurch ein Dienstanbieter
die Programme so an einen Benutzer sendet, dass dieser Benutzer
die Programme verwenden kann, sowie der Application Service Provider
(ASP) Dienst, wodurch die Funktionen der Programme den Benutzern über elektronische Kommunikationsleitungen
bereitgestellt werden, die Programme selbst jedoch durch de Dienstanbieter
einbehalten werden.
- (C) Eine zeitlich Abfolge einer Vorgehensweise, wie beispielsweise
die Reihenfolge der Schritte in jedem der folgenden Ablaufpläne in den 15 bis 19, 23 und 24 wird
als ein fundamentaler Gegenstand zum Spezifizieren einer Erfindung
erachtet. Dementsprechend offenbart die Vorgehensweise, die in einem
jeden der voranstehend erwähnten
Ablaufpläne
offenbart wird, wie ein Steuerverfahren angewendet wird. Dementsprechend
zeigen diese Ablaufpläne
Ausführungsformen
für die
Verwendung der Steuerverfahren in Übereinstimmung mit der vorliegenden Erfindung.
Wenn die Schritte in jedem Ablaufplan in der beschriebenen zeitlichen
Reihenfolge durchgeführt
werden, um das ursprüngliche
Ziel sowie Effekte der vorliegenden Erfindung zu erreichen, sind
die Vorgehensweisen in diesen Ablaufplänen zweifelsohne Ausführungsformen
der formen der Steuerverfahren für
die Halbleiter-Speicherkarte in Übereinstimmung
mit der vorliegenden Erfindung
- (D) In der ersten bis sechsten Ausführungsform wird ein EEPROM
für die
nicht flüchtigen
Speicher sowohl innerhalb als auch außerhalb des manipulationsgeschützten Moduls
TRM 1 verwendet. Der interne und der externe Speicher kann
jedoch auch ein anderer nicht flüchtiger
Speicher wie beispielsweise ein FeRAM sein.
- (E) Als ein Beispiel wird ein Mobiltelefon-Typ für die tragbare
SD-Vorrichtung 300 verwendet. Die tragbare SD-Vorrichtung
kann jedoch auch ein Audio-Unterhaltungselektronikgerät, eine Set-Top-Box
(STB) oder ein Mobiltelefon sein.
-
Die
in den Ansprüchen
der vorliegenden Erfindung definierten Erfindungen erweitern oder
verallgemeinern die voranstehend beschriebenen Ausführungsformen
sowie ihre Modifizierungen. Der Grad der Erweiterung und der Verallgemeinerung
basiert auf dem Stand der Technik auf dem Gebiet der verwandten
Technik zum Zeitpunkt der Anmeldung.
-
Industrielle Anwendbarkeit
-
Die
Halbleiter-Speicherkarte in Übereinstimmung
mit der vorliegenden Erfindung stellt einen hohen Schutz für gelöschte Dateien
bereit, und ist dementsprechend ideal für das Speichern von vertraulichen
Daten geeignet. Dementsprechend kann die Halbleiter-Speicherkarte in Übereinstimmung
mit der vorliegenden Erfindung in verschiedenen Bereichen der industrialisierten
Welt, wie beispielsweise auf einem Gebiet der Unterhaltungselektronikgeräte verwendet
werden.
-
- 1
- TRM
- 2
- ein
externer EEPROM
- 3
- ein
interner EEPROM
- 4
- eine
externe Speichersteuereinheit
- 5
- ein
HIM
- 6
- eine
Masken-ROM
- 7
- eine
zentrale Rechnereinheit CPU
- 8
- eine
Client-Anwendung
- 9
- eine
virtuelle Maschine
- 10
- eine
Anwendungsschnittstelle API
- 11
- ein
Ereignisanalyse-Handler
- 12
- ein
Nicht-Befehls-Ausführungs-Handler
- 13
- ein
Zeitsteuereinheit-Handler
- 14
- ein
Lese-/Schreib-Handler
- 15
- ein
Lösch-Handler
- 21
- ein
Bereich für
ein Anwendungsprogramm
- 22
- ein
sicherer Bereich
- 23
- ein
Authentifizierungs-Bereich
- 24
- ein
Nicht-Authentifizierungs-Bereich
- 100
- ein
EC-Server
- 200
- eine
Karten-Schreib-/Leseeinrichtung
- 210
- eine
Funkbasisstation
- 300
- eine
tragbare Vorrichtung