-
Technisches Gebiet
-
Die
vorliegende Erfindung betrifft eine Halbleiter-Speicherkarte, welche
die Sicherheit gespeicherter Inhalte sicherstellt, und eine Technologie
zur Erweiterung einer Speicherkapazität der Speicherkarte.
-
Stand der Technik
-
Die
Produktion von Halbleiter-Speicherkarten ist eine rasch wachsende
Industrie der letzten Jahre, die Aufmerksamkeit von Entitäten in vielen
Bereichen, wie z.B. von Massenmedien, Finanzinstitutionen, Regierungsinstitutionen
sowohl nationalen als auch lokalen auf sich gezogen hat.
-
Es
ist eine Funktion für
den Schutz der in einer Speicherkarte gespeicherten Inhalte, die
so große
Aufmerksamkeit auf sich gezogen hat. Populäre Beispiele von Halbleiter-Speicherkarten umfassen eine
SD-Speicherkarte und eine IC-Karte. Die SD-Speicherkarte ist eine Kontakt-Halbleiter-Speicherkarte
mit einem nichtflüchtigen
Speicher, einer logischen Schaltung, und einem Verbinder. Wenn ein Host-Gerät über den
Verbinder einen Kontakt zu der SC-Speicherkarte herstellt, erlaubt
die SD-Speicherkarte dem Host-Gerät einen Zugriff auf den nichtflüchtigen
Speicher nach der Autorisierung des Host-Gerätes durch Durchführen einer
wechselseitigen Aufforderungs/Antwort-Autorisierung. Da die SC-Speicherkarte
in der Lage ist, einen Zugriff von einem nicht-autorisierten Gerät zurückzuweisen und eine große Kapazität eines
nichtflüchtigen
Speichers von 64 MB bis 1 GB besitzt, ist es erwünscht, die SD-Speicherkarte
zur Speicherung von Daten zu verwenden, welche einen Copyright-Schutz
erfordern, wie z.B. Audiodaten und Videodaten.
-
Die
IC-Karte ist so aufgebaut, dass eine CPU, ein Masken-ROM und ein
einen EEPROM enthaltender IC-Chip auf einer Leiterplatte angeordnet sind
und eine Spiralantenne in der Leiterplatte untergebracht ist. Die
IC-Karte führt
eine kontaktlose Daten- Eingabe/Ausgabe
mit dem Host-Gerät über die Spiralantenne
durch. Der IC-Chip wird auch als ein manipulationssicheres Modul
(TRM – Tamper
Resistant Module)) bezeichnet und ist gegen Reverse Engineering,
wie z.B. Disassemblierung und interne Analyse sicher.
-
Aufgrund
dieser Manipulationssicherheit ist die IC-Karte für Zahlungsverkehr
erwünscht
und viele Kreditkartenfirmen und Bankfirmen überlegen den Einsatz von IC-Karten.
Die Nachteile der IC-Karte bestehen darin, dass die Produktionskosten
hoch und die Kapazität
des EEPROMs in dem TRM nur etwa 160 KB ist.
-
Wie
vorstehend beschrieben, haben die SD-Speicherkarte und die IC-Karte
jeweils Vor- und Nachteile
und es ist nicht leicht zu entscheiden, welche besser ist.
-
Eine
konventionelle Technik für
die SC-Speicherkarte ist in einem Patentdokument 1 wie folgt offenbart.
- <Patentdokument
1>
Japanische Patentanmeldungsoffenlegung Nr. 2001/14441
-
Im
elektronischen Handel (EC – Electronic Commerce),
in welchem das Host-Gerät
ein Server einer Kreditkartenfirma ist, ist es vorteilhaft, wenn man
in der Lage ist, einen jährlichen
Transaktionsplan in einen Halbleiterspeicher herunter zu laden und
zu speichern. Die Daten für
den jährlichen
Transaktionsplan sind jedoch üblicherweise
groß,
und die IC-Karte besitzt nicht genügend Speicherkapazität. Andererseits
ergibt es hinsichtlich der Sicherheit keinen Sinn, den jährlichen
Transaktionsplan in der SD-Speicherkarte zu speichern, welche kein
TRM besitzt, obwohl die SC-Speicherkarte genügend Speicherkapazität besitzt,
da ein derartiger jährlicher Transaktionsplan
einen zu schützenden
Wert fast wie Geld hat.
-
Hersteller
der Halbleiter-Speicherkarten sehen sich einer schwierigen Wahl
zwischen der Massenproduktion von TRMs mit dem Risiko eines Anstiegs
der Produktionskosten und dem Ignorieren der Bedürfnisse der Kreditkartenfirmen
gegenüber.
-
Offenbarung der Erfindung
-
Eine
Aufgabe der vorliegenden Erfindung besteht in der Bereitstellung
einer Halbleiter-Speicherkarte,
die in der Lage ist, eine große
Kapazität
an Daten, die einen geldgleichen Wert haben, mit einem vernünftigen
Sicherheitsstufe zu speichern.
-
Zur
Lösung
der vorstehenden Aufgabe ist eine Halbleiter-Speicherkarte gemäß der vorliegenden
Erfindung eine Halbleiter-Speicherkarte, welche ein manipulationssicheres
Modul und einen nichtflüchtigen
Speicher enthält,
wobei das manipulationssichere Modul enthält: einen internen Speicher mit
einem Nutzungsbereich, der von einem in dem manipulationssicheren
Modul gespeicherten Programm genutzt wird; und eine Verarbeitungseinheit, die
so betrieben werden kann, dass sie (i) einen Bereich in dem nichtflüchtigen
Speicher dem Programm zuweist, und (ii) in dem internen Speicher
des manipulationssicheren Moduls eine Zugriffsinformation für den zugewiesenen
Bereich erzeugt, wobei der Nutzungsbereich und der zugewiesenen
Bereich dadurch einen Gesamtbereich zur Nutzung durch das Programm
bilden. Da die Zugriffsinformation für den Nutzungsbereich des Programms
in dem manipulationssicheren Modul erzeugt wird, ist es möglich, die gesamte
Struktur des Nutzungsbereichs geheim zu halten.
-
Es
wird schwierig zu erkennen, wo ein Nutzungsbereich in dem nichtflüchtigen
Speicher beginnt und endet, und welcher Bereich und wie die Programmzugriffe
geheim gehalten werden. Da es schwierig ist, insgesamt eine Position
des Nutzungsbereichs zu erfassen, ist es möglich, einen illegalen Zugriff
zu verhindern.
-
Die
Halbleiter-Speicherkarte gemäß der vorliegenden
Erfindung kann auch die vorstehende Halbleiter-Speicherkarte sein,
in welcher die Verarbeitungseinheit aufweist: Eine Zuweisungseinheit, die
so betrieben werden kann, dass sie zu einem Zeitpunkt der Erzeugung
der Zugriffsinformation einen Verschlüsselungsschlüssel zuweist,
welchen das Programm bei dem Zugriff auf den zugewiesenen Bereich
verwendet; eine Verschlüsselungseinheit,
die zu einem Zeitpunkt, bei dem das Programm Daten in den zugewiesenen
Bereich schreibt, betrieben werden kann, das sie Daten verschlüsselt; und eine
Entschlüsselungseinheit,
die zu einem Zeitpunkt, an dem das Programm Daten aus dem zugewiesenen
Bereich ausliest, betrieben werden kann, das sie Daten entschlüsselt.
-
Das
Programm ist in der Lage, nur aus dem Bereich zu lesen oder dahin
zu schreiben, nachdem der eindeutige Verschlüsselungsschlüssel dem
Programm zugewiesen ist. Demzufolge können, selbst dann, wenn mehr
als ein Programm auf die Halbleiter-Speicherkarte zugreift, und eines von
den Programmen dem ihm zugewiesenen Verschlüsselungsschlüssel aufdeckt,
Daten, die andere Programme auf die Halbleiter-Speicherkarte geschrieben haben, nicht
durch den dem Programm zugewiesenen Verschlüsselungsschlüssel decodiert
werden. Selbst wenn ein Verschlüsselungsschlüssel des
einen Programms aufgedeckt wird, ist der Rest der EC-Clientanwendungen
nicht betroffen, und daher ist es möglich, die Geheimhaltung der
Daten, die das Programm schreibt, aufrechtzuerhalten.
-
Die
Halbleiter-Speicherkarte gemäß der vorliegenden
Erfindung kann auch die vorstehende Halbleiter-Speicherkarte sein,
in welcher die Verarbeitungseinheit ferner aufweist: eine Empfangseinheit,
die so betrieben werden kann, dass sie eine Sicherheitsstufe aus
dem Programm empfängt;
und eine Speichereinheit, die Werte für unterschiedliche Sicherheitsstufen,
Bitlängen
eines Verschlüsselungsschlüssels und
Verschlüsselungsverfahren
speichert, wobei die Bitlängen
und Verschlüsselungsverfahren 1:1
den Werten entsprechen, der durch die Zuteilungseinheit zugeteilte
Verschlüsselungsschlüssel auf
der Basis einer Bitlänge
erzeugt wird, die der empfangenen Sicherheitsstufe entspricht, und
die Verschlüsselung
und Entschlüsselung
durch die Verschlüsselungseinheit
bzw. die Entschlüsselungseinheit
auf der Basis eines Verschlüsselungsverfahrens durchgeführt werden,
das der empfangenen Sicherheitsstufe entspricht. Das Programm legt
eine Sicherheitsstufe auf der Basis der Wichtigkeit der Daten und
erforderliche Prozeduren zum Lesen und Schreiben der Daten fest
und fordert die Verarbeitungseinheit zum Datenschreiben und Lesen
auf der Basis der festgelegten Sicherheitsstufe auf. Daher ist es
möglich,
eine Anordnung zu treffen, dass eine Sicherheitsstufe von viel und
weniger wichtigen Daten so festgelegt wird, dass das Datenschreiben
in einer kurzen Zeitdauer abgeschlossen werden kann.
-
Kurzbeschreibung der Zeichnungen
-
1 stellt
eine Umgebung dar, in welcher eine SDeX-Speicherkarte verwendet
wird.
-
2 stellt
einen Innenaufbau einer Halbleiter-Speicherkarte gemäß der vorliegenden
Erfindung dar.
-
3 stellt
einen Hardwareaufbau in einem TRM 1 dar.
-
4 stellt
einem Softwareaufbau für
einen Teil dar, der einem Masken-ROM 6 und einer CPU 7 in
dem TRM 1 von 3 entspricht.
-
5 stellt
ein logisches Format eines externen Flash-Speichers 2 und
eines internen EEPROM 3 dar.
-
6 stellt
einen Innenaufbau eines vergrößerten Bereichs 22,
eines autorisierten Bereichs 23 und eines nicht-autorisierten
Bereichs 24 dar.
-
7 stellt
einen allen Partitionen gemeinsamen Aufbau dar.
-
8A stellt
eine Partitionstabelle dar.
-
8B stelle
einen Partitions-Bootsektor in einer in 7 dargestellten
Partition dar.
-
9 stellt
Zugriffe auf die SDeX-Speicherkarte von einem EC-Server 100 und
von einem tragbaren SD-Gerät 300 dar.
-
10 stellt
Befehls/Antwort-Sequenzen zwischen der SDeX-Speicherkarte, dem tragbaren SD-Gerät 300 und
dem EG-Server 100 dar.
-
11 stellt
einen Innenaufbau eines OS 10 gemäß einer zweiten Ausführungsform
dar.
-
12A ist ein Flussdiagramm, das einen Prozess darstellt,
der von einer Bereichserweiterungseinheit 11 und einer
Verschlüsselungs/Entschlüsselungs-Einheit 14 ausgeführt wird.
-
12B ist ein Flussdiagramm, das einen von einer
Bereichserweiterungseinheit 11 und der Verschlüsselungs/Entschlüsselungs-Einheit 14 durchgeführten Dateischreibprozess
darstellt.
-
12C ist ein Flussdiagramm, das einen von einer
Bereichserweiterungseinheit 11 und der Verschlüsselungs/Entschlüsselungs-Einheit 14 durchgeführten Dateileseprozess
darstellt.
-
13 stellt
eine Belegung des Flash-Speichers 2 gemäß einer vierten Ausführungsform
dar.
-
14 stellt
eine Belegung des internen TRM-Speichers 3 gemäß der vierten
Ausführungsform
dar.
-
15 stellt
einen Prozess eines Zugriffs auf einen sicheren Flash-Bereich gemäß der vierten Ausführungsform
dar.
-
16 ist
ein Flussdiagramm, das eine Reihenfolge eines Prozesses durch den
OS 10 darstellt, wenn der sichere Flash-Bereich initialisiert
wird.
-
17 ist
ein Flussdiagramm, das eine Reihenfolge eines Prozesses durch das
OS 10 darstellt, wenn ein Dateisystem erzeugt wird.
-
18 ist
ein Flussdiagramm, das eine Reihenfolge eines Prozesses durch das
OS 10 darstellt, wenn auf das Dateisystem zugegriffen wird.
-
19 ist
ein Flussdiagramm, das eine Reihenfolge eines Prozesses durch das
OS 10 darstellt, wenn das Dateisystem gelöscht wird.
-
20 stellt
einen Aufbau eines Speichermoduls gemäß einer fünften Ausführungsform dar.
-
21 ist
eine Tabelle eines Leistungsvergleichs zwischen dem Flash-Speicher
und einem FeRAM.
-
22 stellt
den FeRAM mit zugewiesenen Daten dar, die häufig erneuert werden, wie z.B.
ein Dateieintrag, FAT, und Löschprozessverwaltungstabelle.
-
23 stellt
einen Innenaufbau des internen Speichers 3 des TRM gemäß einer
sechsten Ausführungsform
dar.
-
Beste Ausführungsart der Erfindung
-
[Erste Ausführungsform]
-
Eine
Halbleiter-Speicherkarte gemäß einer ersten
Ausführungsform
der vorliegenden Erfindung wird nachstehend erläutert. Die Halbleiter-Speicherkarte
dieser Ausführungsform
ist eine SDeX-Speicherkarte. Die SDeX-Speicherkarte wird als ein
Medium für
ein tragbares SD-Gerät
wie z.B. SD-Speicherkarten verwendet und besitzt gleichzeitig ein
manipulationssicheres Modul (TRM), das wie in IC-Karten eingebaut
ist. Ferner ist die SDeX-Speicherkarte in der Lage, sowohl eine
Kommunikation über
Kontakt als auch eine kontaktlose Kommunikation auszuführen, um
mit externen Geräten
zu kommunizieren.
-
Zuerst
erfolgt eine Erläuterung
für einen praktischen
Gebrauch der Halbleiter-Speicherkarte dieser Ausführungsform
(SDeX-Speicherkarte). Die SDeX-Speicherkarte wird mit dem tragbaren
SD-Gerät,
wie z.B. einem Mobiltelefon verbunden, und wird von einem Benutzer
in einer solchen wie in 1 dargestellten Umgebung verwendet. 1 stellt
die Umgebung dar, in welcher eine SDeX-Speicherkarte 400 verwendet
wird.
-
Ein
EC-Server 100, ein Karten-Leser/Schreiber 200,
eine Basisstation 210 und ein tragbares SD-Gerät 300 sind
in der Umgebung von 1 enthalten.
-
Der
EC-Server 100 versorgt die IC-Karte mit einem EC-Dienst über den
Karten-Leser/Schreiber 200, eine Basisstation 210,
und ein Netzwerk. Eine Vielzahl von EC-Anwendungen arbeitet in dem EC-Server 100,
und jede von den EC-Anwendungen liefert einen spezifischen EC-Dienst
an die SDeX-Speicherkarte 400. Die auf dem EG-Server 100 arbeitenden
EC-Anwendungen sind EC-Serveranwendungen für eine unterschiedli che Art
von EC-Dienst. In 1 werden n Arten von EC-Serveranwendungen
für n Arten
von Diensten als S_APL 1, 2, 3, ... n bezeichnet. Die Bereitstellung
der EC-Dienste durch den EC-Server 100 wird durchgeführt, indem
ein EC-Befehl an die SDeX-Speicherkarte 400 über das
Netzwerk, den Karten-Leser/Schreiber 200 und die Basisstation 210 ausgegeben
wird.
-
Der
Karten-Leser/Schreiber 200 ist beispielsweise so etwas
wie ein Kassenautomat bei Bankeinrichtungen oder ein mit Zahlenregistern
ausgestattetes Gerät
und liefert Energie an die SDeX-Speicherkarte 400 und führt eine
kontaktlose Daten-Eingabe/Ausgabe mit der SDeX-Speicherkarte 400 aus.
Der Karten-Leser/Schreiber 200 ist mit dem Netzwerk verbunden
und die SDeX-Speicherkarte 400 ist in der Lage, den EC-Dienst
zu empfangen, welcher über
den EC-Server 100 mittels des Karten-Leser/Schreibers 200 bereitgestellt
wird.
-
Die
Basisstation 210 ist ein auf dem Dach von Gebäuden und
auf der Spitze von elektrischen Masten angebrachtes Gerät und führt eine
drahtlose Daten-Eingabe/Ausgabe mit dem tragbaren Mobiltelefon-Gerät 300 durch.
Die Basisstation 210 ist mit dem Netzwerk verbunden, und
das tragbare SD-Gerät 300 ist
in der Lage, den von dem EG-Server 100 bereitgestellten
EG-Dienst über
die Basisstation 210 zu empfangen.
-
Das
tragbare SD-Gerät 300 ist
ein Gerät,
mit welchem die SDeX-Speicherkarte 400 verbunden wird,
um auf die SDeX-Speicherkarte 400 zuzugreifen. Ein Browser
und dergleichen ist in dem tragbaren SD-Gerät 300 installiert,
und ein Benutzer ist in der Lage, auf ein Dateisystem (FS) in der SDeX-Speicherkarte 400 über eine
Benutzerschnittstelle des Browsers zuzugreifen. Der Zugriff aus
das Dateisystem wird durch die Ausgabe eines SD-Befehls, der in
der SD-Speicherkarte spezifiziert ist, an die SD-Speicherkarte 400 möglich und
indem eine Antwort auf den SD-Befehl aus der SDeX-Speicherkarte 400 empfangen
wird. Wenn das tragbare SD-Gerät
von der SDeX-Speicherkarte 400 mit dem Bootstrap gebootet
wird, funktionieren das tragbare SD-Gerät 300 und die SDeX-Speicherkarte 400 insgesamt
als eine IC-Karte. Eine Spiralantenne ist in eine Rückseite
des tragbaren SD-Gerätes
eingebaut, und wenn das tragbare SD-Gerät 300 als die IC-Karte funktioniert,
beliefert die Spiralantenne die SDeX-Speicherkarte 400 mit
Energie aus dem Karten-Leser/Schreiber 200. Das tragbare
SD-Gerät 300 führt auch
eine Zweiwegeumwandlung zwischen Befehl/Antwort mit der SDeX-Speicherkarte 400 und Be fehl/Antwort
mit dem EC-Server 100 durch. Insbesondere ist die von dem
tragbaren SD-Gerät 300 durchgeführte Zweiwegeumwandlung
so, dass das tragbare SD-Gerät 300 einen
erweiterten SD-Befehl durch Einkapselung eines von dem EC-Server 100 empfangenen
EC-Befehls erzeugt, dann den erweiterten SD-Befehl an die SDeX-Speicherkarte 400 ausgibt
und eine EC-Antwort aus der SDeX-Speicherkarte 400 ausliest,
dann die ausgelesene EC-Antwort an den EC-Server 100 ausgibt.
Ein Modus, in welchem das tragbare SD-Gerät 300 von der SDeX-Speicherkarte 400 mit
dem Bootstrap gebootet wird und als die IC-Karte funktioniert, wird
als ein "EC-Modus" bezeichnet. Der
andere Modus, in welchem das tragbare SD-Gerät 300 die SDeX-Speicherkarte 400 als
ein Aufzeichnungsmedium verwendet, wird als ein "SD-Modus" bezeichnet.
-
Wenn
die SDeX-Speicherkarte 400 in dem SD-Modus verwendet wird,
wird die SDeX-Speicherkarte 400 als
eine SD-Karte verwendet. In diesem Falle ist das Host-Gerät der SDeX-Speicherkarte 400 das
tragbare SD-Gerät 300.
Die SDeX-Speicherkarte 400 speichert Audiodaten und Videodaten,
welche das tragbare SD-Gerät 300 von
einem Verteilungsserver herunter lädt. Das Host-Gerät ist in
der Lage, die Audiodaten und Videodaten wiederzugeben, die in der
SDeX-Speicherkarte 400 gespeichert sind.
-
Wenn
sich die verwendete SDeX-Speicherkarte in dem EC-Modus befindet,
wird die SDeX-Speicherkarte 400 als eine IC-Karte verwendet.
Die SDeX-Speicherkarte 400 ist in diesem Falle ebenfalls
mit dem tragbaren SD-Gerät 300 verbunden.
Das Host-Gerät
der SDeX-Speicherkarte 400 ist jedoch nicht das tragbare
SD-Gerät 300,
sondern der EC-Server 100 in dem Netzwerk. Die SDeX-Speicherkarte 400 kommuniziert
mit dem EC-Server 100 unter Verwendung des mit der SDeX-Speicherkarte 400 verbundenen
tragbaren SD-Gerätes 300 zusammen
mit dem Karten-Leser/Schreiber 200 und der Basisstation 210.
Mit dieser Kommunikation ist die SDeX-Speicherkarte 400 in
der Lage, eine Geldtransaktion mit dem EC-Server 100 durchzuführen.
-
Die
SDeX-Speicherkarte 400 der vorliegenden Erfindung hat einen
erhöhten
Vorteil für
Benutzer, da sie als eine IC-Karte zusätzlich zu einer Speicherung
für verteilte
Audiodaten und Videodaten verwendet werden kann.
-
In 1 greift
die Speicherkarte 400 in dem EC-Modus des EC-Servers 100 über den
Karten-Leser/Schreiber 200 auf den EC-Server 100 zu,
wobei es auch möglich
ist, dass das tragbare Gerät 300 auf den
EC-Server 100 über
die Basisstation 210 zugreift.
-
Anschließend wird
die Herstellung der Halbleiter-Speicherkarte gemäß der vorliegenden Erfindung
beschrieben. Die Halbleiter-Speicherkarte gemäß der vorliegenden Erfindung
kann industriell auf der Basis eines in den 2 und 3 dargestellten Innenaufbaus
hergestellt werden.
-
Gemäß Darstellung
in 2 werden ein Verbinder, ein manipulationssicheres
Modul (TRM) 1, ein Flash-Speicher 2 mit 256 MB
Speicherkapazität
in der Halbleiter-Speicherkarte gemäß der vorliegenden Erfindung
montiert.
-
Die
Manipulationssicherheit bedeutet im Wesentlichen Folgendes.
- (1) Der Innenaufbau kann selbst dann, wenn
der Chip physikalisch ausgepackt wird, nicht analysiert werden.
- (2) Der interne Aufbau kann selbst dann nicht analysiert werden,
wenn der Chip mit elektromagnetischen Wellen bestrahlt wird.
- (3) Eine Relation zwischen einer Datenlänge von Eingangsdaten und einer
Verarbeitungszeit ist nichtlinear.
- (4) Ausgangsdaten können
nicht unter Verwendung eines Verarbeitungsergebnisses zurückberechnet
werden, wenn ein Fehler aufgrund von Eingangsdaten aufgetreten ist.
-
Aufgrund
der vorstehend in (1)–(4)
beschriebenen Eigenschaften ist das TRM 1 gegen viele Arten
von Reverse Engineering sicher. Nachfolgendes beschreibt Hardwareelemente
in dem TRM 1.
-
3 stellt
einen Hardware-Aufbau in dem TRM 1 dar. Gemäß Darstellung
in 3 sind ein internes EEPROM 3, eine externe
Speichersteuereinheit 4, ein Host-Schnittstellen modul (HIM) 5,
ein Masken-ROM 6 und eine CPU 7 innerhalb des
TRM 1 montiert und bilden ein Mikrocomputersystem.
-
Der
interne EEPROM 3 ist ein lesbarer und beschreibbarer Speicher.
Das als das TRM 1 aufgebaute Mikrocomputersystem ist in
den Produktionskosten pro Flächeneinheit
teuer. Eine Kapazität
des internen EEPROM 3 beträgt 32 KB. Zur Vereinfachung
wird der EEPROM als ein interner Speicher bezeichnet, und der in 2 dargestellte
Flash-Speicher 2 wird
in einigen Fällen
in der vorliegenden Beschreibung als ein externer Speicher bezeichnet.
-
Die
externe Speichersteuereinheit 400 ist eine spezielle Schaltung
für den
Zugriff auf den Flash-Speicher 2. Der Zugriff auf den Flash-Speicher 2 wird
auf der Basis von SD-Befehlen
durchgeführt, die
von dem tragbaren SD-Gerät 300 ausgeben
werden.
-
Das
HIM 5 bezieht sich auf Befehlsnummern für die von dem tragbaren SD-Gerät 300 ausgegebenen
SD-Befehle und sortiert die SD-Befehle auf der Basis der Befehlsnummern.
Die SD-Befehlsnummern beinhalten Nummern von 1 bis m, sowie Erweiterungsnummern,
die größer als
m sind. Wenn eine Befehlsnummer für einen SD-Befehl 1 bis
m ist, wird der SD-Befehl an die externe Speichersteuereinheit 4 ausgegeben,
und wenn die Befehlsnummer größer als
m ist, wird der SD-Befehl an die CPU 6 ausgegeben, nachdem
ein eingekapselter EC-Befehl aus dem SD-Befehl erhalten wurde.
-
Der
Masken-ROM 6 ist ein Nur-Lese-Speicher, in welchem ein
Betriebssystem (OS), eine virtuelle Javamaschine, und eine Anwendung
im Voraus gespeichert werden. Das tragbare SD-Gerät 300 arbeitet
in dem EC-Modus, indem es mit dem Bootstrap von einer festen Adresse
in dem Masken-ROM 6 gebootet wird.
-
Die
CPU 7 führt
die in dem Masken-ROM 6 gespeicherten Programme aus.
-
4 stellt
einen Softwareaufbau für
einen Teil dar, der dem Masken-ROM 6 und der CPU 7 in dem
TRM 1 von 3 entspricht. Ein als wk 1 mit
unterbrochener Linie dargestellter Teil ist ein mit der IC-Karte
kompatibles Modul (IC-Karten-kompatibles Modul). Ein Teil, der sich
innerhalb des TRM 1 und außerhalb der unterbrochenen
Linie befindet, ist ein mit der SD-Speicherkarte kompatibles Modul.
-
Der
mit der SD-Speicherkarte kompatible Teil beinhaltet die externe
Speichersteuereinheit 4 und das HIM 5. Das HIM 5 hat
herkömmliche
Funktionen in der SD-Speicherkarte und funktioniert als eine Schnittstelle
zu dem IC-Karten-kompatiblen Modul.
-
Das
IC-Karten-kompatible Modul besitzt einen schichtartigen Aufbau.
In diesem schichtartigen Aufbau befindet sich das interne EEPROM 3 in
der untersten Schicht (physikalische Schicht), ein OS 10 befindet
sich in einer Schicht über
dem EEPROM 3, und die virtuelle Javamaschine 9 befindet
sich in einer Schicht über
dem OS 10. EC-Clientanwendungen 8 befinden sich
in einer obersten Schicht. Man beachte, dass sich die externe Speichersteuereinheit 4 in
der physikalischen Schicht wie der interne EEPROM 3 befindet.
-
Eine
Erläuterung
der Softwarestruktur (der EC-Clientanwendungen 8, der virtuellen
Javamaschine 9 und des OS 10), die in 4 dargestellt sind,
wird nachstehend gegeben.
-
Die
EC-Clientanwendungen 8 sind eine Art von EC-Anwendungen,
die in der Sprache Java beschrieben sind, und greifen auf den EG-Server 100 auf
der Basis einer Nutzeroperation zu. Der EC-Server 100 weist
mehr als eine EC-Serveranwendung, jede für eine unterschiedliche Art
von EC-Diensten, auf, und die SDeX-Speicherkarte 400 hat
ebenfalls mehr als eine EC-Clientanwendung, jede für unterschiedliche
Arten von EC-Diensten. "C_APL 1, 2, 3, ...
n" in den Zeichnungen
zeigt an, dass die SDeX-Speicherkarte 400 die EC-Clientanwendungen
hat, die der EC-Serveranwendung S_APL 1, 2, 3, n entsprechen. Indem
die EC-Clientanwendungen 8 Befehle zwischen den EC-Serveranwendungen
auf dem EC-Server 10 über
den Karten-Leser/Schreiber 200 und die Basisstation 210 senden
und empfangen, kann der Benutzer verschiedene EC-Dienste auf dem
EC-Server 100 akzeptieren. Wenn der von einer EC-Serveranwendung
auf dem EC-Server empfangenen EC-Befehl ein Datenschreibbefehl ist, gibt
eine entsprechende EC-Clientanwendung den empfangenen EC-Befehl über die
virtuelle Javamaschine 9 an das OS 10 aus.
-
Die
EC-Clientanwendungen 8, außer einer gewünschten
Rolle als die EC-Clientanwendung, greifen auf den Flash-Speicher 2 und
den internen EEPROM 3 auf der Basis der Benutzeroperation
zu, wenn sie sich in dem EC-Modus befinden. Der Zugriff auf den Flash-Speicher 2 und
den internen EEPROM 3 durch die EC-Clientanwendungen 8 beinhaltet
einen Dateizugriff, wie z.B. eine Erzeugung von Dateien und Lesen/Schreiben
in den Dateien. Die virtuelle Javamaschine 9 (JavaCard
VMTM in den Zeichnungen) wandelt die in
der Javasprache beschriebenen Clientanwendungen 8 in einen
nativen Code der CPU 7 um und lässt die CPU 7 die
umgewandelten Anwendungen ausführen.
-
Das
OS 10 liest und beschreibt den Flash-Speicher 2 und
den internen EEPROM 3 auf der Basis von durch die EC-Clientanwendungen
ausgegebenen Befehlen. Dieses ist das Ende der Erläuterung
des Softwareaufbaus der SDeX-Speicherkarte 400.
-
Anschließend wird
ein logisches Format des Flash-Speichers 2 und des internen
EEPROM 3 hierin nachstehend erläutert. 5 veranschaulicht
das logische Format des externen Flash-Speichers 2 und des
internen EEPROM 3. Die SDeX-Speicherkarte der vorliegenden
Erfindung ist eine Mehrfachanwendungs-Halbleiter-Speicherkarte,
welche mehrere Anwendungen (C_APL 1, 2, 3, ... n) handhaben kann. Demzufolge
enthält
das logische Format der SDeX-Speicherkarte der vorliegenden Erfindung mehrere
Dateisysteme, die den Anwendungen C_APL 1, 2, 3, ... n entsprechen.
-
Im
Allgemeinen ist ein Dateisystem eines Speichermediums ein Bereich
in dem Speichermedium und in dem Dateisystem gespeicherte Daten
sind als eine Datei oder ein Verzeichnis erkennbar. Insbesondere
können
auf das Speichermedium zugreifende Programme Daten in und aus der
Datei oder dem Verzeichnis lesen oder schreiben, ohne sich um eine physikalische
Einheit in dem Speichermedium, wie z.B. Sektoren und einen Aufzeichnungsblock,
zu kümmern.
Ein Informationssystem zum Realisieren der Datei und des Verzeichnisses
auf dem Speichermedium wird als eine Dateisystemstruktur bezeichnet.
Das vorstehend beschriebene logische Format beinhaltet derartige
Dateisysteme für
jede EC-Clientanwendung.
-
Ein
Raum ist ein Gesamtbereich des Flash-Speichers 2 und das
interne EEPROM 3 ist in zwei Speicherräume sm 1 und sm 2 unterteilt.
Auf dem Speicherraum sm 1 kann von der CPU 7 in dem TRM 1 aus
zugegriffen werden, und enthält
einen an EC-Clientanwendungen genutzten Nutzungsbereich 21,
und einen erweiterten Bereich 22, welcher ebenfalls von
den EC-Clientanwendungen genutzt wird. Auf den Speicherraum sm 2
kann durch das tragbare SD-Gerät 300 ohne
Führung über die
CPU in dem TRM 1 zu gegriffen werden, und er enthält einen
autorisierten Bereich 23 und einen nicht-autorisierten Bereich 24.
Der autorisierte Bereich 23 und der nich-tautorisierte
Bereich 24 sind Speicherbereiche in der SD-Speicherkarte,
die von Anwendungen (SD-Anwendungen) in dem tragbaren SD-Gerät verwendet
werden. Eine Bezugnahme auf das vorstehend angegebene Patentdokument
(Japanische Patentanmeldungsoffenlegung Nr. 2001-14441) wäre für die allgemeinen
Bedeutungen des autorisierten Bereiches 23 und des nicht-autorisierten
Bereichs 24 nützlich.
-
6 stellt
einen internen Aufbau des erweiterten Bereichs 22, des
autorisierten Bereichs 23 und des nicht-autorisierten Bereichs 24 dar.
Der erweiterte Bereich 22, der autorisierte Bereich 23 und
der nicht-autorisierte Bereich 24 besitzen ein ISO-IEC 9293
entsprechende Dateisystemaufbau. ISO-IEC 9293 ist ein Beispiel möglicher
zur Vereinfachung gewählter
Dateisystemstrukturen, und eine andere Dateisystemstruktur, wie
z.B. das universelle Plattenformat (UDF), können ebenfalls verwendet werden. Der
autorisierte Bereich 23 und der nicht-autorisierte Bereich 24 befinden
sich außerhalb
von dem TRM 1, und demzufolge ist eine Sicherheitsstufe
des autorisierten Bereichs und des nicht-autorisierten Bereichs 24 am
niedrigsten. Unter der Voraussetzung, dass es drei Stufen ("hoch", "mittel" und "niedrig") gibt, ist die Sicherheitsstufe
des autorisierten Bereichs 23 und des nicht-autorisierten
Bereichs 24 "niedrig".
-
Der
durch die EC-Clientanwendungen genutzte Nutzungsbereich 21 ist
ein Bereich, in welchem mehr als nur ein Dateisystem vorgesehen
ist. Jedes Dateisystem entspricht jeder Anwendung der mehreren Anwendungen.
In 6 sind ein "Master-Boot-Datensatz", eine "Partitionstabelle" und "Partition" nur alleine für jede dargestellt.
Jedoch besitzt jede von den mehreren Anwendungen eine entsprechende "Partitionstabelle" bzw. "Partition" in dem von den EC-Clientanwendungen
genutzten Nutzungsbereich 21. Ein vollständiger Teil
des Nutzungsbereiches 21 ist in dem TRM 1 enthalten,
und demzufolge ist der Sicherheitsstufe des Nutzungsbereiches 21 der
höchste.
Unter der Voraussetzung, dass es drei Stufen gibt ("hoch", "mittel" und "niedrig"), ist die Sicherheitsstufe
des Nutzungsbereiches 21 "hoch".
-
Der
erweiterte Bereich 22 ist eine Erweiterung des von den
EC-Clientanwendungen genutzten Nutzungsbereiches 21 und
enthält
einen Unterbereich 22a in dem internen EEPROM 3 und
einen sicheren Flash-Bereich 22b in dem Flash-Speicher 2. Der
sichere Flash-Bereich 22b enthält Partitionen 1, 2, 3, ...
n. Die Partitionen 1, 2, 3, ... n sind Dateisystembereiche, welche
jeweils jeder Anwendung der mehreren Anwendungen in dem TRM entsprechen. Um
die Partitionen 1, 2, 3, ... n als die Dateisystembereiche zu erkennen,
wird Information zum Zugreifen auf die Dateisystembereiche (Zugriffsinformation) erforderlich.
In der vorliegenden Ausführungsform entspricht
die Zugriffsinformation dem Partitionstabellen 1, 2, 3..., n. Die
Partitionstabellen 1, 2, 3 ... n, die in dem Unterbereich 22a enthalten
sind, sind ein kennzeichnender Teil der vorliegenden Ausführungsform.
-
Das
tragbare SD-Gerät 300 erkennt
nur den autorisierten Bereich 23 und den nicht-autorisierten Bereich 24 in
dem SD-Modus. Es ist nicht möglich, auf
den Nutzungsbereich 21 und den sicheren Flash-Bereich 22b in
dem SD-Modul zuzugreifen, da sich ein Master-Boot-Datensatz und
die Partitionstabellen in dem TRM 1 befinden.
-
Ein
Zugriff auf den sicheren Flash-Bereich 22b ist nur von
der CPU 7 aus möglich.
Dieses bedeutet, dass der Zugriff auf den sicheren Flash-Bereich 22b im
Wesentlichen auf Zugriffe durch die EC-Clientanwendungen beschränkt ist.
Die Sicherheitsstufe des sicheren Flash-Bereichs 22b ist
mittel, da die Zugriffsinformation in dem TRM 1 gespeichert ist.
Unter der Voraussetzung, dass es drei Stufen ("hoch", "mittel" und "niedrig") gibt, ist die Sicherheitsstufe
des Flash-Bereichs 22b "mittel". Man beachte, dass
eine Anwendung, die in dem SD-Modul abläuft, auf den sicheren Flash-Bereich 22b auf
einer Ausnahmebasis durch Ausgeben eines speziellen Befehls zugreifen
kann.
-
In 6 unterscheiden
sich ein Dateisystembereich (Partition) und Zugriffsinformation
(Partitionstabelle) in dem Nutzungsbereich 21 von der Zugriffsinformation
in dem sicheren Flash-Bereich 22b. Der Nutzungsbereich 21 ist
ein von dem sicheren Flash-Bereich 22b getrennter Bereich.
Demzufolge ist es selbst in dem schlechtesten Falle, in welchem die
Inhalte der Dateisystembereiche in dem Flash-Speicher 22 durch
eine Person mit bösartigen Absichten
aufgedeckt werden, höchst
unwahrscheinlich, dass der Nutzungsbereich 21 durch den
Inhalt des sicheren Flash-Bereiches 22b aufgedeckt wird. Indem
die zwei Zugriffsinformationen getrennt gehalten werden, ist es
möglich,
eine Firewall-Funktion für den
Nutzungsbereich 21 zu realisieren, und die Geheimhaltung
des Nutzungsbereichs 21 aufrechtzuerhalten.
-
Ein
Innenaufbau der Partitionen in dem sicheren Flash-Speicher 22b,
dem autorisierten Bereich 23 und dem nicht-autorisierten
Bereich 24 ist derselbe. 7 stellt
den den Partitionen gemeinsamen Aufbau dar.
-
Eine
Partition enthält
einen "Partitions-Bootsektor", eine "Kopie der Dateizuordnungstabelle", einen Root-Verzeichniseintrag", und einen "Benutzerbereich". Der "Partitions-Bootsektor" ist eine Tabelle, in
welche Information für
die Partitionen geschrieben wird. Die "Kopie der Dateizuordnungstabelle (FAT)" besteht aus zwei
ISO/IEC 9293 entsprechenden FATs. Jede FAT enthält FAT-Einträge, die
jeweils einem unterschiedlichen Cluster entsprechen. Jeder FAT-Eintrag
zeigt an, ob der entsprechende Cluster verwendet wird oder nicht.
Wenn der entsprechende Cluster nicht verwendet wird, wird der Dateieintrag auf "0" gesetzt, und wenn der entsprechende
Cluster verwendet wird, wird eine Clusternummer für den Dateieintrag
gesetzt. Die Clusternummer zeigt eine Verknüpfung unter Clustern an, wie
z.B. welcher Cluster als nächster
nach dem Lesen des Clusters zu lesen ist, der dem Dateieintrag der
Clusternummer entspricht.
-
Der "Root-Verzeichniseintrag" enthält Dateieinträge für Dateien
in einem Root-Verzeichnis. Jeder Dateieintrag enthält Information über eine
entsprechende Datei: einen Dateinamen, eine Dateierweiterung, eine
Dateikopf-Clusternummer (die Nummer eines Clusters, in welcher ein
Kopfteil der Datei gespeichert ist), ein Dateiattribut, eine Dateiaufzeichnungszeit,
Dateiaufzeichnungsdaten und eine Dateilänge.
-
Der "Benutzerbereich" ist ein Bereich,
in welchem Dateien gespeichert werden. Ein Satz von Sektoren und
Aufzeichnungsblöcken,
die zu dem Benutzerbereich gehören,
welcher als eine Datei erkannt wird, ist ein wesentlicher Teil der
Datei. Dieses ist das Ende der Erläuterung der Partitionen. Die
Partitionstabellen und der Partitions-Bootsektor werden anschließend erläutert.
-
Die
Partitionstabellen für
den sicheren Flash-Bereich 22b befinden sich in dem internen
EEPROM 3. Andererseits befinden sich die Partitionstabellen
für den
autorisierten Bereich 23 und den nicht-autorisierten Bereich 24 in
dem Flash-Speicher 2. Die Partitionstabellen für den sicheren
Flash-Bereich 22b, den autorisierten Bereich 23 und
den nicht-autorisierten
Bereich 24 haben alle denselben in 8A dargestellten
inneren Aufbau.
-
8A stellt
eine Partitionstabelle dar und 8B stellt
einen Partitions-Bootsektor der Partition von 7 dar.
-
Die "Partitionstabelle" ist eine Tabelle,
welche eine Position und eine Größe einer
entsprechenden Partition anzeigt und enthält, wie es durch einen Pfeil
ky 2 in 8A angezeigt ist, einen "Boot-Indikator" und einen "Startkopf" zum Spezifizieren
des Startkopfes der Partition, einen "Startsektor" zum Spezifizieren des Startsektors
der Partition, eine "System-ID", die einen Typ des
Dateisystembereichs anzeigt, einen "Endkopf", einen "Endsektor" zum Spezifizieren des Endsektors der
Partition, einen "relativen
Sektor", der eine
Anzahl relativer Sektoren bis zu dem Startsektor in der Partition
anzeigt, und einen "Gesamtsektor", der eine Anzahl
der Sektoren in der Partition anzeigt.
-
In
dem Partitions-Bootsektor wird ein Extend-FDC-Descriptor mit in 8B dargestellten
Elementen gesetzt. Gemäß 8B enthält der Extend-FDC-Descriptor
solche Elemente wie z.B. einen Sprungbefehl, Systemerzeugungsidentifikator,
Sektorgröße, die
die Größe eines
Sektors, Sektoren pro Cluster, die eine Anzahl von Sektoren pro
Cluster anzeigen, umgekehrte Sektoranzahl, Anzahl von FATs, die
eine Anzahl von FATs anzeigen, enthält in einer doppelten FAT die
Anzahl von Root-Verzeichniseinträgen,
Gesamtsektoren, einen Medium-Identifikator, Sektoren pro FAT, die
ein Anzahl von Sektoren pro FAT anzeigen, Sektoren pro Spur, Anzahl
von Seiten, Anzahl verborgener Sektoren, Gesamtsektoren, die eine
Gesamtanzahl der Sektoren anzeigen, physikalische Plattennummer,
erweiterte Boot-Aufzeichnungssignatur, Volumen-ID-Nummer, Volumen-Bezeichnung,
Dateisystemtyp und Signaturwort. Dieses ist das Ende der Erläuterung
des Innenaufbaus des TRM 1. Anschließend werden eine Bereichserweiterungseinheit 11 und
die technische Bedeutung der Montage der Bereichserweiterungseinheit 11 nachstehend
erläutert.
-
In
dem IC-Karten-kompatiblen Modul werden von der EC-Serveranwendung
erhaltene Daten in den internen EEPROM 3 geschrieben. Die
Daten, deren Schreiben die EC-Anwendung
anfordert, betreffen Geld, und die meisten derartiger Daten sind
klein genug in der Größe, um in
dem internen EEPROM 3 gespeichert zu werden. Jedoch weist
in einem Falle, in welchem die Daten, deren Schreiben die EC-Serveranwendung
anfordert, den jährlichen
Transaktionsplan betreffen, das interne EEPROM 3 nicht
genügend
Speicherkapazität
auf, da der jährliche Transaktionsplan
von der Größe her zu
groß ist.
-
Andererseits
gibt es hinsichtlich der Sicherheit keinen Sinn, den jährlichen
Transaktionsplan in dem Flash-Speicher 2 zu speichern,
da ein derartiger jährlicher
Transaktionsplan zu schützende
Werte fast wie Geld hat.
-
Daher
erweitert die Bereichserweiterungseinheit 11 den Nutzungsbereich
von dem internen EEPROM 3 zu dem Flash-Speicher 2 unter
Aufrechterhaltung der Sicherheit in der Nähe des TRM 1.
-
Die
Bereichserweiterungseinheit 11 weist der EC-Clientanwendung
einen Dateisystembereich in dem Flash-Speicher 2 auf Anforderung
von der EC-Clientanwendung zur Erweiterung des Nutzungsbereiches
zu. Der der EC-Clientanwendung zugewiesene Dateisystembereich wird
ausschließlich
der EC-Clientanwendung zugewiesen und anderen EC-Clientanwendungen
ist es nicht erlaubt, auf den Dateisystembereich zuzugreifen. In
dem Dateisystembereich als einem geschlossenen Raum kann die EC-Clientanwendung
frei auf die Dateien zugreifen. Der durch die Bereichserweiterungseinheit 11 zugewiesene
Dateisystembereich ist eine Partition innerhalb des vorstehend beschriebenen
sicheren Flash-Bereiches 22b. Ein Anhängen durch die Bereichserweiterungseinheit 11 wird
auf Anforderung von der EC-Clientanwendung zum Öffnen des Dateisystems durchgeführt. Wenn
die Öffnung
des Dateisystems angefordert wird, erzeugt die Bereichserweiterungseinheit 11 eine
Partition in dem Flash-Speicher 2 und belegt eine Partitionstabelle
für die
erzeugte Partition. Dann gibt die Speichererweiterungseinheit 11 der
EC-Clientanwendung eine APL-ID für
die Verwendung des Dateisystembereichs. Die APL-ID ist eine Zufallszahl
mit 10 Digits oder mehr und wird wie ein Passwort genutzt.
-
Die
EC-Clientanwendung ist in der Lage, von dem zugewiesenen Dateisystembereich
zu lesen und dort zu schreiben, indem die von der Bereichserweiterungseinheit 11 vergebene
APL-ID genutzt wird. Das Öffnen
des Dateisystembereichs ist nicht dasselbe wie das Öffnen einer
Datei, und um eine Datei in dem sicheren Flash-Bereich 22b zu öffnen, muss
die EC-Clientanwendung die Öffnung
zweimal durchführen;
zuerst das Dateisystem öffnen
und dann eine tatsächliche
Datei öffnen.
-
Nachdem
die EC-Clientanwendung den Lese- und Schreibvorgang der Daten beendet
hat, wird eine Abtrennung des Dateisystems durchgeführt. Die Abtrennung
des Datei systems ist die Freigabe der an die EC-Clientanwendung
zugewiesenen Partition. Die Abtrennung durch die Bereichserweiterungseinheit 11 wird
auf Anforderung der EC-Clientanwendung
zum Schließen
des Dateisystems durchgeführt. Wenn
das Schließen
des Dateisystems angefordert wird, führt die Bereichserweiterungseinheit 11 die
Abtrennung durch. Das Schließen
des Dateisystembereichs ist nicht dasselbe wie das Schließen einer
Datei, und die EC-Clientanwendung muss das Schließen zweimal
durchführen;
zuerst die Datei schließen und
dann das Dateisystem schließen.
Wenn dieselbe EC-Clientanwendung dieselbe Partition später noch einmal
benutzt, hat die EC-Clientanwendung die Autorisierung unter Verwendung
der APL-ID zu beweisen, bevor die Bereichserweiterungseinheit 11 das Anhängen durchführt.
-
9 stellt
Zugriffe auf die SDeX-Speicherkarte 400 aus dem EC-Server 100 und
dem tragbaren SD-Gerät 300 dar.
Teile jt1, jt2 und jt3 mit durchgezogener Linie stellen schematisch
Zugriffe auf die SDeX-Speicherkarte 400 aus dem EC-Server 100 dar
und ein Pfeil hs1 mit unterbrochener Linie stellt schematisch einen
Zugriff auf die SDeX-Speicherkarte 400 aus
dem tragbaren SD-Gerät 300 dar.
Wie es in dieser Zeichnung dargestellt ist, ist der EC-Server 100 in
einem EC-Zugriff in der tage, sowohl auf den internen EEPROM 3 als
auch den sicheren Flash-Bereich 22b in dem Flash-Speicher 2 zuzugreifen,
und die EC-Serveranwendung in dem EG-Server 100 kann auf
der Basis des Wichtigkeitsgrades und einer Größe der zu schreibenden Daten
auswählen,
wo zu schreiben ist.
-
10 stellt
Befehls/Antwort-Sequenzen zwischen der SDeX-Speicherkarte 400,
dem tragbaren SD-Gerät 300 und
dem EC-Server 100 dar. Nach rechts zeigende Pfeile in der
Zeichnung zeigen Befehle an, und nach links zeigende Befehle zeigen Antworten
an.
-
In
dem SD-Modus ist das tragbare SD-Gerät 300 das Host-Gerät, und das
tragbare SD-Gerät 300 führt das
Senden/Empfangen sc1, sc2, sc3 und sc4 von SD-Befehlen und SD-Antworten
zwischen der externen Steuereinheit 4 in der SDeX-Speicherkarte 400 über das
HIM 5 durch.
-
Die
Sequenz in dem EC-Modus benutzt im Wesentlichen dieselbe Sequenz
wie in dem SD-Modus und ein Senden/Empfangen sc5 und sc6 eines Befehls
und einer Antwort werden zwischen dem portablen SD-Gerät 300 und
der externen Speichersteuereinheit 4 mittels des HIM 5 durchgeführt. Der
Befehl und die Antwort hier sind ein SD-Befehl und eine SD-Antwort,
die durch Einkapselung eines EC-Befehls bzw. einer EC-Antwort erzeugt
werden. Das tragbare SD-Gerät 300 führt zusätzlich zum
Senden/Empfangen des Befehls und der Antwort mittels des HIM 5 das
Senden/Empfangen sc7 und sc8 eines EC-Befehls und einer EC-Antwort
mit dem EC-Server 100 mittels des Karten-Lesers/Schreibers 200,
der Basisstation 210 und dem Netzwerk durch. Das Ausführen des
Sendens/Empfangens des EC-Befehls und der EC-Antwort ist ein erster
Unterschied zu der Sequenz in dem SD-Modus. Bei dem Senden und Empfangen
von Befehlen und Antworten mit dem EC-Server 100 führt das
tragbare SD-Gerät 300 eine
wechselseitige Umwandlung zwischen EC-Befehl/Antwort und SD-Befehl/Antwort
aus.
-
Ein
zweiter Unterschied gegenüber
der Sequenz in dem SD-Modus wird nachstehend beschrieben. Während Antwort/Befehl
zwischen der externen Speichereinheit 4 und dem HIM 5 direkt
in dem SD-Modus übertragen
werden, werden Befehl/Antwort in dem EG-Modus über die EC-Clientanwendung 8 und
die Bereichserweiterungseinheit 11 in dem IC-Karten-kompatiblen
Modul übertragen.
Die Sequenz in dem EC-Modus enthält
Umwege uc1, uc2, uc3, uc4, uc5, uc6 und uc7, und dieses ist der zweite
Unterschied zwischen den Sequenzen in dem SD-Modus und in dem EC-Modus.
-
In
den Umwegen führt
die EC-Clientanwendung eine Dateisystemöffnung und eine Dateiöffnung in
Reihenfolge vor dem Schreiben auf den Flash-Speicher 2 aus.
Wenn die Öffnung
des Dateisystems angewiesen wird, führt die Bereichserweiterungseinheit 11 das
Anhängen
des Dateisystems durch.
-
Andererseits
führt nach
dem Schreiben in den Flash-Speicher 2 die EC-Clientanwendung
eine Dateischließung
und eine Dateisystemschließung aus.
Wenn die Dateischließung
angewiesen wird, führt
die Bereichserweiterungseinheit 11 das Abtrennen des Dateisystems
aus.
-
Wie
vorstehend beschrieben, wird gemäß der vorliegenden
Erfindung bei der Erweiterung des Nutzungsbereichs von dem internen
EEPROM in dem TRM 1 auf den Flash-Speicher 2 eine Partition, die
ein Teil des erweiterten Bereiches ist, auf dem Flash-Speicher 2 der
EC-Clientanwendung zugewiesen und die Partitionstabelle in dem TRM 1 erzeugt. Da
die Partitionstabelle, die ein wesentlicher Teil des erweiterten
Bereiches ist, in dem TRM geheim gehalten wird, ist eine Person
mit bösartiger
Absicht nicht in der Lage, zu wissen, wo der erweiterte Bereich
beginnt. Dadurch ist es möglich,
die Geheimhaltung von der EC-Clientanwendung geschriebener Daten
aufrechtzuerhalten.
-
Ferner
wird jeder EC-Clientanwendung eine Partition zugewiesen und eine
Relation zwischen Partitionen wird exklusiv ausgeführt. Demzufolge werden
selbst dann, wenn eine von mehreren EC-Clientanwendungen durch die
Person mit der bösartigen
Absicht betrieben wird, Inhalte, die in Partitionen gespeichert
sind, die anderen EC-Clientanwendungen zugewiesen sind, nicht der
durch die Person betriebenen EC-Clientanwendung offenbart. Da ein nichtautorisierter
Zugriff auf eine EC-Clientanwendung nicht auf den Rest der EC-Clientanwendungen erweitert
werden kann, ist es möglich,
die Geheimhaltung der gespeicherten Inhalte sicherzustellen.
-
[Zweite Ausführungsform]
-
Eine
zweite Ausführungsform
betrifft eine Verbesserung um so die in dem sicheren Flash-Bereich 22b gespeicherten
Inhalte noch besser als in der ersten Ausführungsform zu schützen. Der
Schutz des gespeicherten Inhalts der SDeX-Speicherkarte 400 wird
im Wesentlichen durch eine Verschlüsselung der gespeicherten Inhalte
realisiert.
-
Jedoch
gibt es in einem Falle, in welchem auf den sicheren Flash-Bereich 22b durch
eine illegale EC-Clientanwendung zugegriffen wird, eine Möglichkeit,
dass ein Verschlüsselungsschlüssel, der
die gespeicherten Inhalte in dem sicheren Flash-Bereich 22b verschlüsselt, durch
die die illegale EC-Clientanwendung betreibende Person aufgedeckt
werden könnte.
In einem derartigen Falle gibt es eine weitere Möglichkeit, dass die gespeicherten
Inhalte anderer EC-Clientanwendungen, die auf den sicheren Flash-Bereich 22b zugreifen,
ebenfalls aufgedeckt werden, und Schäden könnten sich auf EC-Provider und andere
EC-Clientanwendungen ausbreiten, die auf den sicheren Flash-Bereich 22b zugreifen.
-
In
der vorliegenden Ausführungsform
weist, um zu verhindern, dass die gespeicherten Inhalte in dem sicheren
Flash-Bereich 22b vollständig aufgedeckt werden, das
OS 10 der EC-Clientanwendung einen einzigartigen Verschlüsselungsschlüssel zu, wenn
die Partition jeder EC-Clientanwendung zugewiesen wird. Zu dem Zeitpunkt,
an dem die EC-Clientanwendung auf ein Dateisystem in dem zugewiesenen
sicheren Flash-Bereich zugreift, verschlüsselt und entschlüsselt die
EC-Clientanwendung von dem Dateisystem zu schreibende und zu lesende
Daten unter Verwendung des der EC-Clientanwendung zugewiesenen einzigartigen
Verschlüsselungsschlüssels. Partitionen
werden der EC-Clientanwendung
in einer 1:1 Entsprechung zugewiesen, und die Verschlüsselung
und Entschlüsselung
werden unter Verwendung des einzigartigen Verschlüsselungsschlüssels durchgeführt, welcher
jeder von den EC-Clientanwendungen zugewiesen ist. Demzufolge ist
es, selbst wenn ein Benutzer, welcher eine EC-Clientanwendung betreibt,
den der EC-Clientanwendung zugewiesenen Verschlüsselungsschlüssel herausfindet,
nicht möglich,
Verschlüsselungsschlüssel herauszufinden,
die anderen EC-Clientanwendungen zugewiesen
sind.
-
Um
die vorstehende Verschlüsselung
und Entschlüsselung
durchzuführen,
hat das OS 10 einen in 11 dargestellten
Aufbau. Gemäß Darstellung in 11 enthält das OS 10 eine
Auswahltabelle 12, eine Verschlüsselungstabelle 13 und
eine Verschlüsselungs/Entschlüsselungs-Einheit 14 zusätzlich zu der
Bereichserweiterungseinheit 11 wie in der ersten Ausführungsform.
-
Die
Auswahltabelle 12 ist eine Tabelle, welche eine Entsprechung
zwischen Bitlängen
und Verschlüsselungsverfahren
erstellt. Eine Bitlänge
zeigt eine Bitlänge
eines Verschlüsselungsschlüssels an, wenn
ein für
eine EC-Clientanwendung einzigartiger Verschlüsselungsschlüssel erzeugt
wird. Ein Verschlüsselungsverfahren
gibt einen Algorithmus zur Verschlüsselung unter Verwendung des
erzeugten Verschlüsselungsschlüssels an.
Die Bitlängen
und Verschlüsselungsverfahren
entsprechen 1:1 Werten von 1 bis L Sicherheitsstufen. Eine größere Bitlänge und
ein Algorithmus mit einem höheren
Schwierigkeitsgrad entsprechen einem Wert einer höheren Sicherheitsstufe,
und eine kürzere
Bitlänge
und ein Algorithmus mit einem niedrigeren Schwierigkeitsgrad entsprechen
einem Wert einer geringeren Sicherheitsstufe. Dieses bedeutet, dass
je höher
ein Schwierigkeitsgrad ist und je länger eine Bitlänge ist, die
Sicherheit der in der Partition gespeicherten Inhalte umso besser
wird. Eine Sicherheitsstufe steht in direkter proportionaler Beziehung
zur Verarbeitungszeit für
die Verschlüsselung.
Insbesondere wird, je höher
der Schwierigkeitsgrad der Verschlüsselung und je länger die
Bitlänge
des Verschlüsselungsschlüssels sind,
die für
die Verschlüsselung
und Entschlüsselung
benötig te
Verarbeitungszeit umso länger.
Andererseits wird, je niedriger der Schwierigkeitsgrad der Verschlüsselung
und je kürzer
die Bitlänge
des Verschlüsselungsschlüssels sind,
die für die
Verschlüsselung
und Entschlüsselung
benötigte Verarbeitungszeit,
umso kürzer.
-
Die
Verschlüsselungstabelle 13 ist
eine Tabelle, die eine Entsprechung zwischen APL-IDs, den Verschlüsselungsverfahren und den Bitlängen erzeugt.
-
Die
Verschlüsselungs/Entschlüsselungs-Einheit 14 empfängt, wenn
die Bereichserweiterungseinheit 11 eine Partition einer
EC-Clientanwendung zuweist, eine Sicherheitsstufe aus der EC-Clientanwendung 8 und
sucht ein Verschlüsselungsverfahren
und eine Bitlänge,
die der Sicherheitsstufe entsprechen, in der Auswahltabelle 12 (rf1 und
rf2 in der Zeichnung) und erzeugt eine Zufallszahl mit der Länge der
gesuchten Bitlänge.
Die erzeugte Zufallszahl wird der EC-Clientanwendung als ein einzigartiger
Verschlüsselungsschlüssel zugewiesen.
Eine Folge der Zuweisung ist in der Verschlüsselungstabelle 13 ("ADDIERE DATENSATZ" in der Zeichnung)
dargestellt. Danach verschlüsselt, wenn
die EC-Clientanwendung Daten schreibt, die Verschlüsselungs/Entschlüsselungs-Einheit 14 die von
der EC-Clientanwendung empfangenen Daten ("SCHREIBE DATEN" in der Zeichnung) unter Verwendung
des zugewiesenen Verschlüsselungsschlüssels und
gibt dann die verschlüsselten
Daten an die externe Speichersteuereinheit 4 ("SCHREIBE VERSCHLÜSSELTE DATEN" in der Zeichnung)
aus. Wenn die EC-Clientanwendung Daten liest, entschlüsselt die
Verschlüsselungs/Entschlüsselungs-Einheit 14 die
von der externen Speichersteuerschaltung 4 ("LESE VERSCHLÜSSELTE DATEN" in der Zeichnung)
empfangenen Daten unter Verwendung des zugewiesenen Verschlüsselungsschlüssels und
gibt dann die entschlüsselten
Daten an die EC-Clientanwendung 8 ("LESE DATEN" in der Zeichnung) aus.
-
Die
Bereichserweiterungseinheit 11 und die Verschlüsselungs/Entschlüsselungs-Einheit 14 gemäß der zweiten
Ausführungsform
werden erzeugt, indem man die CPU 7 ein Programm ausführen lässt, das
in einer Computerbeschreibungssprache zur Durchführung von in 12A–12C dargestellten Flussdiagrammen Prozessen geschrieben
ist.
-
12A ist ein Flussdiagramm, welches durch die Bereichserweiterungseinheit 11 und
die Verschlüsselungs/Entschlüsselungs-Einheit 14 durchgeführte Prozesse
darstellt.
-
Die
Schritte S1–S4
in dem Flussdiagramm 12A stellen einen Prozess dar, der
durch die Bereichserweiterungseinheit 11 ausgeführt wird.
Die Bereichserweiterungseinheit 11 weist eine Partitionsnummer
i, welche noch nicht zugewiesen worden ist, einer EC-Clientanwendung zu,
die eine Erweiterung eines zu verwendenden Bereichs im Schritt Si
angefordert hat, schreibt dann eine Partitionstabelle für eine i-te
Partition in den internen EEPROM 3, und erzeugt eine Partition
in dem Flash-Speicher 2 im Schritt S2. Im Schritt S3 erzeugt
die Bereichserweiterungseinheit 11 ein Passwort, und meldet
im Schritt S4 das erzeugte Passwort als APL-ID an die anfordernde
EC-Anwendung.
-
Ferner
stellen die Schritte S5–S7
in dem Flussdiagramm von 12A einen
Prozess dar, der durch die Verschlüsselungs/Entschlüsselungs-Einheit 14 ausgeführt wird.
Im Schritt S5 erhält
die Verschlüsselungs/Entschlüsselungs-Einheit 14 ein
Verschlüsselungsverfahren
und eine Bitlänge,
die einer Sicherheitsstufe entsprechen, die in der Erweiterungsanforderung
mitgeteilt wurde. Im Schritt S6 erzeugt die Verschlüsselungs/Entschlüsselungs-Einheit 14 eine
Zufallszahl der erhaltenen Bitlänge,
und fügt
im Schritt S7 einen Datensatz, welcher das erhaltene Verschlüsselungsverfahren,
die Bitlänge
und die erzeugte Zufallszahl enthält, der Verschlüsselungstabelle
hinzu.
-
12B ist ein Flussdiagramm, das Prozesse zum Schreiben
einer Datei darstellt, die von der Bereichserweiterungseinheit 11 und
der Verschlüsselungs/Entschlüsselungs-Einheit 14 ausgeführt wird.
-
Im
Schritt S11 erhält
die Bereichserweiterungseinheit 11 die APL-ID, die der
Anwendung zur Durchführung
eines Dateischreibvorgangs zugewiesen wurde. Im Schritt S12 identifiziert
die Bereichserweiterungseinheit 11 die Partitionsnummer
i mittels der APL-ID und akzeptiert eine Einstellung für die Parameter "buf", "file", und "fp" aus der Anwendung.
Die in diesem Schritt akzeptierten Parameter sind wie folgt.
- "buf":
- Ein Zeiger auf die
zu schreibenden Daten
- "file":
- Ein Name einer Zieldatei,
in welche die Daten zu schreiben sind
- "fp":
- Ein Zeiger innerhalb
der Zieldatei
-
Im
Schritt S13 verschlüsselt
die Verschlüsselungs/Entschlüsselungs-Einheit 14 die
Daten in "buf" unter Verwendung
eines Verschlüsselungsschlüssels i
auf der Basis eines Verschlüsselungsverfahrens
i in dem Datensatz, und im Schritt 514 schreibt die Bereichserweiterungseinheit 11 die
verschlüsselten
Daten in die Datei in der Partition i, bei einem Abschnitt, auf
welchen der "file"-Zeiger zeigt und
dahinter.
-
12C ist ein Flussdiagramm, das durch die Bereichserweiterungseinheit 11 und
die Verschlüsselungs/Entschlüsselungs-Einheit 14 ausgeführte Prozesse
zum Lesen einer Datei darstellt. Im Schritt S21 erhält die Bereichserweiterungseinheit 11 die
APL-ID, die der einen Dateilesevorgang ausführenden Anwendung zugewiesen
wird. Im Schritt S22 identifiziert die Bereichserweiterungseinheit 11 die Partitionsnummer
i mittels der APL-ID,
und akzeptiert im Schritt S23 das Setzen der Parameter "buf", "file", "fp" und "size" aus der EC-Clientanwendung
heraus.
-
Die
im Schritt S23 akzeptierten Parameter sind wie folgt.
- "buf":
- Ein Zeiger auf die
zu schreibenden Daten
- "file":
- Ein Name einer Zieldatei,
in welche die Daten zu schreiben sind
- "fp":
- Ein Zeiger innerhalb
der Zieldatei
- "size":
- Eine Länge der
zu lesenden Daten
-
Im
Schritt S24 liest die Bereichserweiterungseinheit 11 die
Größe der verschlüsselten
Daten in der Datei in der Partition 1 bei einem Abschnitt
auf den der "file"-Zeiger zeigt und
dahinter. Im Schritt S25 entschlüsselt
die Verschlüsselungs/Entschlüsselungs-Einheit 14 die
gelesenen Daten unter Verwendung des Verschlüsselungsschlüssels i
in dem Verschlüsselungsverfahren
i und speichert dann die entschlüsselten
Daten in dem Puffer.
-
Wie
vorstehend beschrieben, ist gemäß der vorliegenden
Erfindung die EC-Clientanwendung in der Lage, von dem OS unter Berücksichtigung
einer Beziehung zwischen dem Sicherheitsstufe und der Verarbeitungszeit,
den die Sicherheitsstufe spezifizierenden Anhang als ein Argument
anzufordern. Dadurch ist es möglich,
dem OS 10 mitzuteilen, welch hohe Sicherheitsstufe die
EC-Clientanwendung anfordert.
-
In
der vorliegenden Ausführungsform
wird die Sicherheitsstufe von der EC-Clientanwendung empfangen.
Es ist jedoch auch möglich,
dass das OS 10 die Sicherheitsstufe automatisch festlegt.
Ferner können
die Verschlüsselungsverfahren
und die Bitlängen
in der Auswahltabelle 12 aktualisiert werden. Dadurch ist
es möglich,
die Geheimhaltung des sicheren Flash-Bereiches zu erhöhen.
-
Zusätzlich können sich
die Auswahltabelle 12 und die Verschlüsselungstabelle 13 in
einem Bereich außerhalb
des OS, aber innerhalb des TRM 1 befinden.
-
[Dritte Ausführungsform]
-
Wenn
eine EC-Clientanwendung, die eine von den mehreren EC-Clientanwendungen
ist, auf einer virtuellen Java-Maschine 9 läuft, erkennt
das OS 10 die mehreren EC-Clientanwendungen als nur einen Task.
In einem derartigen Falle könnte
es geschehen, wenn von einer EC-Clientanwendung auf eine zweite
EC-Clientanwendung umgeschaltet wird, dass die Trennung von der
ersten EC-Clientanwendung nicht durchgeführt werden kann, und die zweite EC-Clientanwendung
auf die Partition für
die erste EC-Clientanwendung
zugreifen kann.
-
Wenn
eine Person mit bösartiger
Absicht die zweite EC-Clientanwendung ausführt, besteht eine Möglichkeit,
dass die in der Partition für
die erste EC-Clientanwendung gespeicherten Inhalte dieser Person
aufgedeckt werden. In der vorliegenden Erfindung meldet, um das
Aufdecken der gespeicherten Inhalte zu verhindern, wenn die Umschaltung
von der ersten EC-Clientanwendung auf die zweite EC-Clientanwendung
stattgefunden hat, die virtuelle Java-Maschine 9 der Bereichserweiterungseinheit 11 die
Umschaltung und die APL-ID für
die zweite Anwendung.
-
Die
Bereichserweiterungseinheit 11 führt die Abtrennung des Dateisystems
durch, wenn die Umschaltung der EC-Clientanwendungen von der virtuellen
Java-Maschine 9 mitgeteilt wird.
-
Wie
vorstehend beschrieben, meldet, selbst in einem Falle, in welchem
die EC-Clientanwendungen
als ein Task erkannt werden, wenn sie auf der virtuellen Java-Maschine 9 ablaufen,
die virtuelle Java-Maschine 9 dem OS 10 die Umschaltung
der EC-Clientanwendungen und die Abtrennung des Dateisystems wird
durchgeführt.
Demzufolge kommt es nicht vor, dass in einer Partition für eine Anwendung
gespeicherte Inhalte durch eine andere EC-Clientanwendung aufgedeckt
werden.
-
[Vierte Ausführungsform]
-
In
den ersten bis dritten Ausführungsformen wird
der als ein Dateisystem erkennbare Bereich in dem Flash-Speicher 2 zugewiesen,
und eine Tabelle für
den Zugriff auf das Dateisystem wird in dem manipulationssicheren
Modul gespeichert. In der vierten Ausführungsform wird ein Satz des
als Dateisystem erkennbaren Bereiches und der Bereichstabelle in dem
Flash-Speicher 2 zugewiesen.
-
Zusätzlich zu
der Zuweisung des Satzes in dem Flash-Speicher 2 wird Zugriffsinformation
für den
Zugriff auf den Dateisystembereich in dem TRM erzeugt. In der vorliegenden
Ausführungsform
ist die Zugriffsinformation eine Positionsinformation für einen
Zugriff auf die Bereichstabelle, und der Verschlüsselungsschlüssel für die Entschlüsselung
der Bereichstabelle.
-
13 stellt
eine Belegung des Flash-Speichers 2 gemäß der vierten Ausführungsform
dar. In den Zeichnungen ist der sichere Flash-Bereich hinter dem
autorisierten Bereich 23 und dem nicht-autorisierten Bereich 24 vorgesehen.
In dieser Ausführungsform
wird ein Zugriff auf den Speicher seitenweise durchgeführt (eine
Seite ist 512 Byte) und der sichere Flash-Bereich befindet sich
in einer Seite 0100h (h zeigt eine Hexadezimalzahl an).
-
Eine
abgehende Linie hh1 verdeutlicht eine Zuordnung des sicheren Flash-Bereiches
in dem Flash-Speicher 2. Wie es durch die abgehende Linie dargestellt
wird, enthält
der sichere Flash-Bereich "SF
(sicherer Flash) Bereichstabelle", "Reserve für SF Bereichstabelle" und bis zu 16 "Dateisystembereiche
(1)–(16)". Eine abgehende
Linie hh2 dient zur Verdeutlichung eines internen Aufbaus der SF-Bereichstabelle.
Gemäß Darstellung durch
die abgehende Linie enthält
die SF-Bereichstabelle "Größe des sicheren
Flash-Bereichs" und 32 "FS-(Dateisystem)-Einträge (1)–(32)". Obwohl eine Anzahl
der Dateisystembereiche 16 ist, ist eine Anzahl der FS-Einträge 32,
da Leerbereiche zwischen Dateisystembereichen ebenfalls gezählt werden.
-
Eine
Größe der SF-Bereichstabelle
ist 388 Byte und demzufolge wird eine Gesamtgröße der SF-Bereichstabelle und
ihrer Reserve 776 Byte. Eine Seite entspricht 512 Bytes, so dass
die zwei SF-Bereichstabellen so groß wie zwei Seiten werden. Unter der
Annahme, dass eine Kopfseite des sicheren Flash-Bereiches 100h ist,
startet der Dateisystembereich (1) von 102h an.
-
Eine
abgehende Linie hh3 dient zum Verdeutlichen eines Innenaufbaus eines
FS-Eintrags [i] eines Dateisystems [i] als ein Beispiel von 16 Dateisystemen.
Ein FS-Eintrag enthält:
"STATUS-FLAG" (1 Byte, das anzeigt,
ob das Dateisystem [i] ungültig
ist (gesetzt als "0"), gültig ("1"), oder ("2"),
"FSID" (1 Byte) zum Einstellen
von Werten zwischen 1 und 16 als eine Identifizierungsnummer des
Dateisystems [i],
"SEKTOREINHEIT" (1 Byte), welche
anzeigt, ob ein in dem Dateisystem [i] enthaltener Sektor 1 KB ist (wenn
als "1" gesetzt), oder 4
KB (wenn als "2" gesetzt),
"EINTRAGSEINHEIT" (1 Byte), welche
anzeigt, ob der FS-Eintrag [b] 2 KB (wenn als "2" gesetzt)
oder 4 KB (wenn als "4" gesetzt) ist,
"BEREICHSGRÖSSE" (4 Bytes), welche
eine Bereichsgröße des Dateisystems
[i] anzeigt, und
"KOPFSEITE" (4 Bytes), welche
eine relative Anzahl von Seiten von der SF-Bereichs-Kopfseite bis zu
dem Dateisystem [i] anzeigt. Durch Bezugnahme auf die "KOPFSEITE" des vorstehenden
FS-Eintrags [i] ist es möglich,
auf das Dateisystem [i] zuzugreifen.
-
Dieses
ist das Ende der Erläuterung über die Belegung
des sicheren Flash-Bereichs. Anschließend wird eine Belegung des
internen Speichers 3 der TRM erläutert. 14 stellt
die Belegung des internen Speichers 3 des TRM gemäß der vierten
Ausführungsform
dar. Eine Charakteristik der Zeichnung besteht darin, dass die Zugriffsinformation
zum Zugriff auf die SF-Bereichstabelle innerhalb des internen Speichers 3 des
TRM zugewiesen ist.
-
Eine
abgehende Linie hh4 stellt einen Innenaufbau der Zugriffsinformation
dar. Wie es durch die abgehende Linie dargestellt wird, enthält die Zugriffsinformation "SF-KOPF-SEITEN-ZUGRIFFSINFORMATION" und "SF-EINTRAG-ZUGRIFFSINFORMATION
(1)–(16)". Eine abgehende
Linie hh5 stellt einen Innenaufbau der SF-Kopfseiten-Zugriffsinformation
dar. Gemäß Darstellung
durch die abgehende Linie enthält
die SF-Kopfseiten-Zugriffsinformation einen 2-Byte "CRC", welcher die SF-Bereichstabelle betrifft,
ein 2-Byte "VERSCHLÜSSELUNGSVERFAHREN", das ein Verschlüsselungsverfahren
und eine Bitlänge
eines für
die Verschlüsselung
des SF-Tabellenbereichs verwendeten Verschlüsselungsschlüssels angibt,
einen 32-Byte "VERSCHLÜSSELUNGSSCHLÜSSEL", der zum Verschlüsseln des
SF-Tabellenbereichs verwendet wird und eine 4-Byte "SF-BEREICH-KOPFSEITE", welche eine Kopfseite
des sicheren Flash-Bereichs anzeigt. In einem Falle, in welchem
die Kopfseite gleich FFFF FFFFh ist, existiert der sichere Flash-Bereich nicht.
In einem Falle, in welchem die Kopfseite anders als FFFF FFFFh ist,
beginnt der sichere Flash-Bereich von der in der SF-Bereichskopfseite angezeigten
Seite. Eine abgehende Linie hh6 stellt ein Beispiel von Werten dar,
die für
die Kopfseitenzugriffsinformation gesetzt sind. In dem Beispiel
ist CRC auf 56h und 12h gesetzt, das Verschlüsselungsverfahren auf FEh und
3Eh gesetzt, der Verschlüsselungsschlüssel ist
auf 01h, 02h, 03h, 04h, ... CCh, DDh, EEh und FFh gesetzt, und die
SF-Bereichskopfseite ist auf 00h, 001h, 00h und 00h gesetzt.
-
Anschließend wird
ein Innenaufbau einer FS-Eintrag-Zugriffsinformation [i] als ein
Beispiel von 16 FS-Eintrag-Zugriffsinformation beschrieben. Eine abgehende
Linie hh7 stellt einen Aufbau der FS-Eintrag-Zugriffsinformation
dar. Die FS-Eintrag-Zugriffsinformation [I] enthält einen 2-Byte "CRC", ein 2-Byte "Verschlüsselungsverfahren", einen 32-Byte "Verschlüsselungsschlüssel", und 4-Byte "Leerdaten". Eine abgehende
Linie hh8 stellt ein spezifisches Beispiel der FS-Eintrag-Zugriffsinformation
dar. In diesem Beispiel ist CRC auf 93h und 02h gesetzt, das Verschlüsselungsverfahren
ist auf FFh und 4 Fh gesetzt und der Verschlüsselungsschlüssel ist
auf FEh, E4h, ADh, 2Ch, ..., 00h, 11h, 22h und 33h gesetzt.
-
15 stellt
einen Zugriffsprozess auf den sicheren Flash-Bereich gemäß der vierten
Ausführungsform
dar. Die SF-Kopfseiten-Zugriffsinformation und die FS-Eintrag-Zugriffsinformation
sind in dem internen Speicher 3 des TRM gespeichert, und
demzufolge greift das OS, wenn das OS in dem TRM auf irgendeinen
Abschnitt des sicheren Flash-Bereiches zugreift
auf die Verschlüsselungs-SF-Bereichstabelle unter
Bezugnahme auf die Kopfseite in der SF-Kopfseiten-Zugriffsinformation
(kj1 in der Zeichnung) zu, und erhält die SF-Bereichstabelle durch
Entschlüsselung
der Verschlüsselungs-SF-Bereichstabelle
auf der Basis des aus der SF-Kopfseiten-Zugriffsinformation entnommenen
Verschlüsselungsverfahrens
und des Verschlüsselungsschlüssels.
-
Durch
die Entschlüsselung
der SF-Bereichstabelle in der vorstehenden Weise ist es möglich, auf die
Kopfseite in dem Dateisystembereich [i] durch Bezugnahme auf den
SF-Eintrag [i], der in der SF-Bereichstabelle (kj2 in der Zeichnung)
enthalten ist, zuzugreifen. Ferner werden der Verschlüsselungsschlüssel und
das Verfahren für
jeden Dateisystembereich in der SF-Eintrittszugriffsinformation
in dem internen Speicher 3 des TRM angezeigt, und daher
ist es möglich,
die gespeicherten Inhalte in dem sicheren Flash-Bereich unter Verwendung
des Verschlüsselungsschlüssels und
Verfahrens durch Entschlüsselung
der aus einem von dem Dateisystembereich ausgelesenen verschlüsselten
Daten zu erhalten.
-
In
den Belegungen in 13 und 14 sind,
während
die Verschlüsselungs-Partitionstabelle sich
in dem sicheren Flash-Speicher befindet, die SF-Kopfseiten-Zugriffsinformation
und die FS-Eintrag-Zugriffsinformation in dem TRM gespeichert. Daher
ist selbst dann, wenn die SDeX-Speicherkarte mit einem Gerät verbunden
wird, das Gerät
nicht in der Lage, die SF-Kopfseiten-Zugriffsinformation und die
FS-Eintrag-Zugriffsinformation, die in dem TRM gespeichert sind,
auszulesen und Daten aus der Verschlüsselungs-Partitionstabelle machen keinen Sinn für das Gerät. Somit
wird die Geheimhaltung des sicheren Flash-Bereichs sichergestellt.
-
Ein
Zugriff auf den vorstehend erläuterten
sicheren Flash-Bereich wird durch Erzeugen eines Programms realisiert,
in welchem in den 16–19 dargestellte
Prozesse er zeugt werden und man die CPU 7 das Programm
ausführen lässt. 16 ist
ein Flussdiagramm, das eine Reihenfolge der Prozesse des OS 10 zeigt,
wenn der sichere Flash-Bereich
initialisiert wird. In diesem Flussdiagramm weist das OS 10 die
Kopfseite des sicheren Flash-Bereiches in dem sicheren Flash-Speicher 2 (Schritt
S31) zu, und erhält
Sicherheitsstufeninformation der EC-Clientanwendung. Die Sicherheitsstufeninformation
beinhaltet ein Verschlüsselungsverfahren
und eine Bitlänge,
welche die Sicherheitsstufe der EC-Clientanwendung anzeigt. Hier
zeigt das Verschlüsselungsverfahren
wie in der zweiten Ausführungsform
einen zur Verschlüsselung
durch die EC-Clientanwendung zu verwendenden Algorithmus an, und
die Bitlänge
zeigt eine Bitlänge
eines für
die EC-Clientanwendung
zu verwendenden Verschlüsselungsschlüssels an.
-
Dann
erzeugt das OS 10 einen Verschlüsselungsschlüssel auf
der Basis des erhaltenen Verschlüsselungsverfahrens
und der Bitlänge
(Schritt S32), schreibt die SF-Kopfseiten-Zugriffsinformation (enthält: den
Verschlüsselungsschlüssel, das
Verschlüsselungsverfahren
und die Kopfseite) in den internen Speicher 3 des TRM (Schritt
S33), erhält
die SF-Bereichstabelle durch Erzeugen von 16 FS-Einträgen, die
ein "LEER"-Status-Flag anzeigen
und indem die Größe des sicheren
Flash-Bereichs hinzugefügt
wird (Schritt S34), und schreibt nach einer Verschlüsselung
unter Verwendung des erzeugten Verschlüsselungsschlüssels und
auf der Basis des Verschlüsselungsverfahrens
die erzeugte SF-Bereichstabelle in den sicheren Flash-Speicher 2 an
der Kopfseite und dahinter, (Schritt S35). Durch den vorstehenden
Prozess wird die Initialisierung des sicheren Flash-Bereiches abgeschlossen.
-
17 ist
ein Flussdiagramm, das eine Reihenfolge von Prozessen durch das
OS 10 bei der Erzeugung eines Dateisystems darstellt. In
diesem Flussdiagramm liest das OS 10 die SF-Kopfseiten-Zugriffsinformation
aus dem internen Speicher 3 des TRM aus (Schritt S41) und
entscheidet, ob die Kopfseite der SF-Kopfseiten-Zugriffsinformation FFFFFFFF
ist (Schritt S42). Wenn das Entscheidungsergebnis positiv ist, endet
das Flussdiagramm ohne Durchführung
weiterer Schritte. Wenn das Ergebnis einen gültigen Wert anzeigt, liest
und entschlüsselt
das OS 10 die Verschlüsselungs-SF-Bereichstabelle
unter Verwendung des Verschlüsselungsschlüssels und
auf der Basis des Verschlüsselungsverfahrens
für die
SF-Kopfseiten-Zugriffsinformation (Schritt S43) und entscheidet,
ob der FS-Eintrag einen leeren Schlitz aufweist (Schritt S44). Wenn kein leerer
Schlitz vorhanden ist, endet dann das Flussdiagramm ohne Durchführung weiterer
Schritte.
-
Wenn
irgendein leerer Schlitz vorhanden ist, macht das OS 10 einen
leeren Dateisystembereich zu einem Dateisystembereich [i] (Schritt
S45), erhält Sicherheitsstufeninformation
der EC-Clientanwendung und erzeugt einen Verschlüsselungsschlüssel für den Dateisystembereich
[i] auf der Basis des Verschlüsselungsverfahrens
und der in der erhaltenen Sicherheitsstufeninformation enthaltenen
Bitlänge (Schritt
S46), schreibt den Partitions-Bootsektor, die FAT und einen direkten
Eintrag für
den Dateisystembereich [i] in den Dateisystembereich [i] nach der
Verschlüsselung
unter Verwendung des Verschlüsselungsschlüssels auf
der Basis des Verschlüsselungsverfahrens
(Schritt S47). Dadurch wird ein Dateisystembereich in dem sicheren
Flash-Speicher 2 erzeugt.
-
18 ist
ein Flussdiagramm, das eine Reihenfolge von Prozessen des OS 10 darstellt,
wenn es auf das Dateisystem zugreift. In diesem Flussdiagramm liest
das OS 10 die SF-Kopfseiten-Zugriffsinformation
aus dem internen Speicher 3 des TRM aus (Schritt S51) und
entscheidet, ob die Kopfseite der SF-Kopfseiten-Zugriffsinformation
FFFFFFFF ist (Schritt S52). Wenn das Ergebnis der Entscheidung positiv
ist, endet das Flussdiagramm ohne Durchführung weiterer Schritte. Wenn
das Ergebnis einen gültigen
Wert anzeigt, liest und entschlüsselt
das OS die Verschlüsselungs-SF-Bereichstabelle
unter Verwendung des Verschlüsselungsschlüssels und
auf der Basis des Verschlüsselungsverfahrens
für die SF-Kopfseiten-Zugriffsinformation
(Schritt S53). Das OS 10 liest die Kopfseite des Dateisystems
[j] aus der entschlüsselten
SF-Bereichstabelle (Schritt S54), und liest den verschlüsselten
Partitions-Bootsektor, die FAT, und den Direkteintrag für den Dateisystembereich
[j] aus einer Summe der Kopfseite des sicheren Flash-Bereichs und
der Kopfseite des Dateisystems [j] (Schritt S55). Dann entschlüsselt das
OS 10 die aus dem Dateisystem [j] gelesenen Daten auf der Basis
des Verschlüsselungsverfahrens
und des Verschlüsselungsschlüssels in
der FS-Eintrag-Zugriffsinformation (Schritt S56), erkennt die Verzeichnisse und
Dateien in dem Dateisystembereich [j] auf der Basis des Entschlüsselungsergebnisses
(Schritt S57), und führt
den Dateizugriff in dem Dateisystem [j] auf der Basis des Verschlüsselungsverfahrens
und des Verschlüsselungsschlüssels in
dem Dateisystembereich [j] durch (Schritt S58).
-
19 ist
ein Flussdiagramm, das eine Reihenfolge von Prozessen des OS 10 darstellt,
wenn es das Dateisystem löscht.
In diesem Flussdiagramm liest das OS 10 zuerst die SF-Kopfseiten-Zugriffsinformation
aus dem internen Speicher 3 des TRM aus (Schritt S61) und
entscheidet, ob die Kopfseite der SF-Kopfseiten-Zugriffsinformation
FFFFFFFF ist (Schritt S62). Wenn das Ergebnis der Entscheidung positiv
ist, endet das Flussdiagramm ohne Durchführung weiterer Schritte. Wenn
das Ergebnis einen gültigen
Wert anzeigt, liest und entschlüsselt
das OS die Verschlüsselungs-SF-Bereichstabelle
unter Verwendung des Verschlüsselungsschlüssels und
auf der Basis des Verschlüsselungsverfahrens
für die SF-Kopfseiten-Zugriffsinformation
(Schritt S63). Das OS 10 liest dann die Kopfseite des Dateisystems
[j] aus der entschlüsselten
SF-Bereichstabelle aus (Schritt S64), und führt einen Löschprozess für eine Größe des Dateisystembereichs
[j] von der Summe der Kopfseite des sicheren Flash-Bereichs und
der Kopfseite des Dateisystems [j] durch (Schritt S65). Dann erneuert
das OS das Status-Flag für
den Dateisystembereich [j] in der SF-Bereichstabelle auf den Leerstatus
(Schritt 66), und schreibt die erneuerte SF-Bereichstabelle in dem
sicheren Flash-Bereich nach der Verschlüsselung der erneuerten SF-Bereichstabelle
unter Verwendung des Verschlüsselungsschlüssels und
auf der Basis des Verschlüsselungsverfahrens
in der SF-Kopfseiten-Zugriffsinformation
erneut (Schritt S67). Durch die vorstehenden Schritte wird die Löschung des
Dateisystems [j] abgeschlossen.
-
Wie
vorstehend beschrieben, befindet sich gemäß der vorliegenden Ausführungsform
die Verschlüsselungs-SF-Bereichstabelle
in dem sicheren Flash-Speicher, während sich die SF-Kopfseiten-Zugriffsinformation,
welche die Information enthält,
welche die Position der SF-Bereichstabelle, den Verschlüsselungsschlüssel und
das in der TRM zugeordnete Verschlüsselungsverfahren anzeigt,
sich in dem TRM befindet. Demzufolge ist nur das OS in dem TRM in
der Lage, den Dateisystembereich in dem sicheren Flash-Speicher zu erkennen.
Indem der Dateisystembereich bereitgestellt wird, welcher nur durch
das OS in dem TRM in dem sicheren Flash-Bereich bereitgestellt wird,
ist es möglich,
den Nutzungsbereich zu erweitern, den die EC-Clientanwendung verwendet,
während
gleichzeitig die Geheimhaltung des gespeicherten Inhaltes sichergestellt
bleibt.
-
[Fünfte
Ausführungsform]
-
In
den ersten bis fünften
Ausführungsformen sind
der interne Speicher 3 des TRM und der externe Speicher 2 ein
EEPROM bzw. ein Flash-Speicher. In der fünften Ausführungsform enthält jeder
von dem internen Speicher des TRM und dem externen Speicher 2 zwei
Speichermodule. 20 stellt einen Aufbau der Speichermodule
gemäß der fünften Ausführungsform
dar. In der Zeichnung sind ein EEPROM 3a und ein Flash-Speicher 2a primäre Speichermodule,
und dieselben wie die in den ersten bis vierten Ausführungsformen
beschriebenen. In der fünften Ausführungsform
sind sekundäre
Speichermodule 2b und 3b für den externen Speicher 2 bzw.
internen Speicher 3 vorgesehen. Die sekundären Speichermodule 2b und 3b bestehen
aus einem ferroelektrischen Arbeitsspeicher (FeRAM) und das Verhalten des
FeRAM unterscheidet sich erheblich von dem Flash-Speicher. 21 ist
eine Tabelle für
einen Leistungsvergleich zwischen dem Flash-Speicher und dem FeRAM.
Die Tabelle zeigt, dass der Flash-Speicher preiswert und für Speicher
mit einer größeren Kapazität (O in
der Tabelle) geeignet ist, aber nur blockweise beschrieben werden
kann (⋇ 1). Eine
Größe eines
Blockes wird mit der Kapazität
des Flash-Speichers größer und
demzufolge könnte
ein Verlust größer sein,
wenn eine kleine Datenmenge in den Flash-Speicher geschrieben werden.
Ferner ist die Schreibzeit lang (10000 ms) und die Anzahl der Wiederbeschreibungen
ist gering (1 000 000 mal). Ferner ist das Schreibverhalten instabil,
da, wenn der Schreibvorgang durchgeführt wird, bereits gespeicherte
Daten einmal gelöscht
und dann wieder neu geschrieben werden.
-
Andererseits
ist der FeRAM teuer und nicht für
Speicher mit größerer Kapazität geeignet
(Δ in der Tabelle),
kann aber byteweise und mit hoher Geschwindigkeit (30–100 ns)
beschrieben werden. Ferner kann er eine erhöhte Anzahl von Malen wiederbeschrieben
werden.
-
Aufgrund
der vorstehenden Unterschiede im Verhalten ist es möglich, die
Schreibleistung des Flash-Speichers zu realisieren, indem man ein
sekundäres
Speichermodul des FeRAM nutzt und Daten speichert, die häufig erneuert
werden, wie z.B. Dateieinträge
und FAT in dem sekundäres
Speichermodul speichert. 22 stellt
das FeRAM mit zugewiesenen Daten dar, die häufig erneuert werden, wie z.B.
Dateieinträge
und FAT und einer Löschprozess-Verwaltungstabelle.
-
Da
wie vorstehend beschrieben, die Daten, die eine geringe Grösse darstellen
und häufig
erneuert werden, wie z.B. Dateieinträge und FAT, in dem aus dem
FeRAM bestehenden Speichermodul gespeichert werden, ist es möglich, ein
schnelles Neuschreiben der Daten wie z.B. von Dateieinträgen und FATs
zu realisieren.
-
Eine
weitere Eigenschaft des FeRAM besteht darin, dass in dem FeRAM gespeicherte
Daten nur einmal gelesen werden können. Dieses bedeutet, dass
die in dem FeRAM gespeicherten Daten zerstört sind, nachdem die Daten
gelesen sind (⋇ 4). Eine
solche Eigenschaft ist in Hinblick auf die Sicherstellung der Geheimhaltung
erwünscht,
aber die Anzahl der Neubeschreibungszeiten nimmt als Folge davon
zu, da es erforderlich wird, die Daten wieder zu schreiben, wenn
die Daten gelesen werden. Um die Eigenschaft des destruktiven Lesens
zu vermeiden, ist es erwünscht,
einen magnetoresistiven Arbeitsspeicher (MRAM) zu verwenden.
-
[Sechste Ausführungsform]
-
In
der fünften
Ausführungsform
besteht das sekundäre
Speichermodul in dem internen Speicher 3 aus einem FeRAM.
In einer sechsten Ausführungsform
besteht jedoch der interne Speicher 3 in dem manipulationssicheren
Modul aus einem FeRAM. 23 stellt einen Innenaufbau
des internen Speichers 3 des TRM gemäß der sechsten Ausführungsform
dar. Der interne Speicher 3 des TRM besitzt eine kleine
Größe, und
daher erhöht
er die Produktionskosten nicht zu sehr. Man beachte, dass, obwohl der
interne Speicher 3 des TRM der sechsten Ausführungsform
aus einem FeRAM besteht, es auch erwünscht ist, dass der interne
Speicher 3 des TRM nur aus einem MRAM besteht.
-
[Siebente Ausführungsform]
-
In
der ersten Ausführungsform
wird die EC-Clientanwendung im Voraus in dem Masken-ROM gespeichert.
Eine siebente Ausführungsform
betrifft jedoch eine Verbesserung, in welcher eine EC-Clientanwendung
von dem EC-Server 100 herunter geladen und in der SDeX-Speicherkarte aufgezeichnet
werden kann.
-
Der
interne Speicher 3 des TRM gemäß der siebenten Ausführungsform
ist mit einem Bereich für herunter
geladene EC-Clientanwendungen versehen. Wenn das tragbare SD-Gerät eine neue
EC-Clientanwendung von dem EG-Server 100 herunter lädt, wird
die neue EC-Clientanwendung in den Bereich für herunter geladene EC-Clientanwendungen gespeichert.
-
Einer
von den Nutzungsbereichen, die im Voraus gesichert wurden, wird
der neu herunter geladenen EC-Clientanwendung zugewiesen. Die Bereichserweiterungseinheit 11 weist
eines von den Dateisystemen in dem Flash-Speicher 2 der
herunter geladenen EC-Clientanwendung zu, wenn die neue EC-Clientanwendung
nach dem Herunterladen hinzugefügt
wird. Das der herunter geladenen EC-Clientanwendung zugewiesene
Dateisystem ist für
die herunter geladene EC-Clientanwendung einzigartig und weitere
EC-Clientanwendungen
sind nicht in der Lage, auf das Dateisystem zuzugreifen. Die EC-Clientanwendung ist
in der Lage, einen freien Dateizugriff in dem Dateisystem, das ein
geschlossener Raum ist, auszuführen.
-
Wie
vorstehend beschrieben, weist gemäß der vorliegenden Ausführungsform
die Bereichserweiterungseinheit 11 das Dateisystem der
herunter geladenen EC-Clientanwendung
zu, wenn die neue EC-Clientanwendung der SDeX-Speicherkarte hinzugefügt wird.
Demzufolge ist die herunter geladene EC-Clientanwendung in der Lage,
den Bereich der SDeX-Speicherkarte ausreichend zu nutzen.
-
Um
der herunter geladenen EC-Clientanwendung ein einzigartiges Dateisystem
zuzuweisen, ist es erwünscht,
Nutzungsbereiche im Voraus für EC-Clientanwendungen,
die zukünftig
herunter geladen werden sollen, zu reservieren.
-
[Zusätzliche
Erläuterungen
für die
ersten bis siebenten Ausführungsformen]
-
- (A) Obwohl die EC-Anwendungen als ein Beispiel von
Anwendungen erläutert
wurden, können
die EC-Anwendungen eine andere Art von Anwendungen sein. Die EC-Anwendungen können Serveranwendungen
auf Servern sein, die von Transportfirmen wie z.B. Eisenbahnen,
Fluglinien, Bussen und Autobahnen betrieben werden, und den Serveranwendungen
entsprechende Clientanwendungen. Dadurch ist es möglich, die SDeX-Speicherkarte 400 zur Überprüfung von
Tickets und für
Boarding-Prozeduren zu verwenden.
-
Ferner
können
die EC-Anwendungen auch Serveranwendungen auf Servern sein, die
von nationalen oder lokalen öffentlichen
Diensten betrieben werden. Dadurch ist es möglich, die SDeX-Speicherkarte 400 beispielsweise
zur Registrierung und Ausgabe verschiedener Nachweise, wie z.B.
solcher für den
Wohnort, zu verwenden.
- (B) Eine Datenverarbeitung
gemäß Darstellung
in den 12A–12C wird
unter Verwendung von Hardwareressourcen wie z.B. der CPU und dem
EEPROM realisiert. Insbesondere wird die SDeX-Speicherkarte wie
sie in den ersten bis siebenten Ausführungsformen beschrieben ist, durch
das Zusammenwirken des Programms und der Hardware, in welcher die
Datenverarbeitung gemäß dem der
gewünschten
Nutzung durchgeführt
wird, gebildet.
-
Da
die Datenverarbeitung durch das Programm praktisch unter Verwendung
der Hardwareressourcen realisiert wird, wird das Programm, dessen
Prozesse in dem Flussdiagramm dargestellt sind, als eine Erzeugung
technischer Ideen unter Nutzung von Naturgesetzen betrachtet, und
daher das Programm für
sich alleine als eine Erfindung betrachtet. Die in 12A–12C dargestellten Prozesse offenbaren Beispiele
praktischer Arbeiten des Programms gemäß der vorliegenden Erfindung.
-
In
den ersten bis siebenten Ausführungsformen
werden die praktischen Beispiele des Programms als das in der SDeX-Speicherkarte 400 installierte
Programm beschrieben. Es ist jedoch auch möglich, dass das Programm alleine
getrennt von der SDeX-Speicherkarte 400 in die Praxis umgesetzt wird.
Beispiele von praktischen Nutzungen des Programms alleine umfassen
(i) die Herstellung des Programms, (ii) Übertragung des Programms unabhängig davon,
ob eine Kompensation erhalten wird oder nicht, (iii) Vermieten des
Programms, (iv) Importieren des Programms, (v) Bereitstellen des
Programms über
eine bidirektionale elektronische Kommunikationsleitung unabhängig davon,
ob eine Kompensation erhalten wird, (vi) Anbieten einer Übertragung
oder Vermietung des Programms an allgemeine Nutzer mittels Schaufensteranzeige,
Katalogaufforderung, Verteilung einer Broschüre usw..
-
Das
Beispiel (v) der praktischen Nutzungen bezüglich der Bereitstellung des
Programms über eine
bidirektionale elektronische Kommunikationsleitung beinhaltet: (a)
ein Anbieter sendet das Programm an einen Nutzer und lässt den
Benutzer dieses nutzen (Pro grammherunterladedienst), und (b) nur
Funktionen des Programms werden dem Benutzer über die elektronische Kommunikationsleitung zur
Verfügung
gestellt und das Programm selbst verbleibt auf der Anbieterseite
(Einen ASP-Dienst bereitstellende Funktion).
- (C)
Ein "Zeit"-Element in den Schritten
der Flussdiagramme in den 12A–12C, die chronologisch ausgeführt werden, ist als wichtig
zu betrachten. Demzufolge wird es deutlich, dass die Prozesse in
den Flussdiagrammen praktische Anwendung eines Steuerungsverfahrens
offenbaren. Die in den Flussdiagrammen dargestellten Prozesse sind
Ausführungsformen
der praktischen Nutzungen des Steuerungsverfahrens gemäß der vorliegenden
Erfindung. Da die beabsichtigte Aufgabe der vorliegenden Erfindung durch
die chronologische Ausführung
jedes Schrittes gelöst
wird, ist es deutlich, dass die in den Flussdiagrammen dargestellten
Prozesse als die praktischen Anwendungen des Verfahrens zum Steuern
der Halbleiter-Speicherkarte gemäß der vorliegenden
Erfindung zu betrachten sind.
- (D) In den ersten bis siebenten Ausführungsformen sind die nicht-flüchtigen
Speicher innerhalb und außerhalb
des manipulationssicheren Speichers als das EEPROM erläutert. Es
können
jedoch auch andere nichtflüchtige
Speicher wie z.B. ein FeRAM ebenfalls verwendet werden.
- (E) Obwohl das tragbare SD-Gerät 300 beispielsweise
als ein Funktelefon erläutert
ist, kann das tragbare SD-Gerät 300 aus
tragbaren Audiogeräten
für kommerzielle
Nutzung, eine Set Top Boxen (STB) oder Mobiltelefonen bestehen.
- (F) Obwohl der jährliche
Transaktionsplan als ein Beispiel sicherer Daten verwendet wird,
welche einen geldnahen Wert haben, kann eine andere Art von Daten,
welche einer Geheimhaltung bedürfen,
verwendet werden, wie z.B. Information über einen Vielflieger, Einkaufsausweis
und Handelsgeheimnisse.
- (G) Obwohl die Bereichserweiterungseinheit 11 Partitionen
als das für
die EC-Clientanwendung einzigartige
Dateisystem zuweist, können
andere Arten logischer Bereiche als für die EC-Clientanwendungen
einzigartige Dateisystembereiche verwendet werden. Beispielsweise
kann ein Verzeichnis ein Dateisystembereich für eine EC-Clientanwendung sein.
-
Industrielle Anwendbarkeit
-
Eine
Halbleiter-Speicherkarte gemäß der vorliegenden
Erfindung ist zur Speicherung verschiedener Arten von Daten geeignet,
welche einer Geheimhaltung bedürfen,
da es möglich
ist, einen sicheren Bereich zu erweitern, und diese eine größere Anwendbarkeit
auf verschiedenen Feldern wie z.B. im Verbraucherbereich hat.