-
Die vorliegende Erfindung bezieht sich allgemein auf Datensicherheit, insbesondere auf Speichereinheiten, Datenverarbeitungseinheiten und Verfahren dafür, wie im Fall einer Speicherkarte, welche entfernbar an einer Datenverarbeitungseinheit anbringbar ist und welche eine Datensicherheitseinrichtung aufweist.
-
Bei einem herkömmlichen nichtflüchtigen Speicher, beispielsweise einem EEPROM (Electrically Erasable Programmable ROM) werden zwei Transistoren verwendet, um ein Informationsbit zu speichern. Als Folge davon ist der Speicherbereich pro Bit groß, was die Fähigkeit beschränkt, die Integration des Speichers anzuheben. Dagegen wurde dieses Problem bei einem vor kurzem entwickelten Flash-Speicher, bei dem ein Bit gespeichert wird, wobei ein einzelner Transistor verwendet wird, gemäß dem ”Gesamtbit-Simultan-Lösch”-Verfahren beseitigt. In nicht so weiter Zukunft wird erwartet, dass Flash-Speicher herkömmliche Speichermedien, beispielsweise magnetische und optische Platten, bei vielen Anwendungen ersetzen werden.
-
Flash-Speicher-Speicherkarten oder ”Memory-Sticks”, welche lösbar an einer Kartenlese-/Aufzeichnungseinheit anbringbar sind, sind ebenfalls bekannt. Mit dem Erscheinen dieser Speicherkartenart wurden digitale Audioaufzeichnungs-/Wiedergabeeinheiten entwickelt, bei denen die Speicherkarte anstelle eines herkömmlichen plattenförmigen Mediums verwendet wird, beispielsweise einer CD (Compact Disc) oder einer Mini-Disc.
-
Ein Audiorekorder, bei dem eine Speicherkarte als Aufzeichnungsmedium verwendet wird, verwendet üblicherweise ein Datenkompressionsverfahren, welches zulässt, dass Daten in einer relativ hohen Qualität zur Aufzeichnung/Wiedergabe wiederhergestellt werden. Verschlüsselungsverfahren können angewandt werden, um das Copyright von Musiktiteln zu schützen, welche mit diesem Audiorekorder aufgezeichnet und wiedergegeben werden. Als Beispiel kann der Audiorekorder ausgebildet werden, um über ein Verschlüsselungsverfahren zu bestimmen, ob eine Speicherkarte ungültig ist, und somit kann verhindert werden, diese mit dem Rekorder verwendet zu werden. Anders ausgedrückt erlauben ein gültiger Rekorder oder eine gültige Speicherkarte in Kombination, dass verschlüsselte Daten entschlüsselt werden.
-
Zusätzlich zum Copyright-Schutz können Verschlüsselungsverfahren verwendet werden, um die Sicherheit anderer Information, welche auf der Speicherkarte gespeichert ist, zu schützen.
-
Herkömmliche Speicherkarten haben keine Verschlüsselungsfunktion. Wenn somit Geheimdaten auf einer Speicherkarte aufgezeichnet werden, werden die Daten auf der ”Geräte”-Seite verschlüsselt, d. h., in der Einrichtung (”Gerät”), in die die Karte eingeführt wird und welches die Daten zum Aufzeichnen einrichtet. Die verschlüsselten Daten werden dann zur Speicherkarte zur Speicherung übertragen. Wenn ein Entschlüsselungsschlüssel ebenfalls in der Speicherkarte gespeichert ist, wird die Datensicherheit der Karte in Frage gestellt. Wenn dagegen ein Entschlüsselungsschlüssel in einem bestimmten Gerät gespeichert ist, können Daten, welche ursprünglich durch dieses Gerät verschlüsselt wurden, welche auf einer Speicherkarte aufgezeichnet wurden, nicht durch Geräte abgesehen von diesem bestimmten Gerät entschlüsselt werden. Damit kann die Kompatibilität von Speicherkarten nicht beibehalten werden. Um dieses Problem zu lösen, wurde ein System vorgeschlagen, bei dem ein Gerät und eine Speicherkarte jeweils eine Verschlüsselungsfunktion haben, wodurch ermöglicht wird, dass das Gerät und die Speicherkarte wechselseitig berechtigt werden. Die Speicherkarte in diesem Fall kann als ”smart card” (intelligente Karte”) bezeichnet werden, welche eine Verarbeitungsschaltung hat, um die Datenverschlüsselung auszuführen. Mit diesem Versuch kann sowohl die Sicherheit als auch die Kompatibilität von Karten beibehalten werden.
-
Eine Sicherheitseinheit, welche die obigen Berechtigungs- und Verschlüsselungsfunktionen hat, kann gemäß dem Datenverschlüsselungsstandard (DES) verschlüsseln. Der DES ist ein Blockverschlüsselungssystem, bei dem Text block-segmentiert wird und jedes Blocksegment verschlüsselt wird. Bei DES werden zugeführte Daten von 64 Bits mit einem Schlüssel von 64 Bits verschlüsselt (in Wirklichkeit einem Schlüssel von 56 Bits und einer Parität von 8 Bits), und die verschlüsselten Daten von 64 Bits werden ausgegeben. Der DES hat vier Verwendungsmodi, wobei einer davon ein Cipher-Block Chaining Mode (CBC) ist. Der CBC-Mode ist ein Rückführungsmodus, bei dem Text von 64 Bits und die vorhergehenden verschlüsselten Daten (von 64 Bits) XOR-verarbeitet sind und das Ergebnis zur DES-Einheit ausgegeben wird. Im Anfangszustand wird, da es keine verschlüsselten Daten gibt, ein Initialisierungsvektor verwendet. Außerdem können als Daten, da Daten zwischen dem Gerät und der Speicherkarte ausgetauscht werden, Zufallsnummern erzeugt werden und den Daten hinzugefügt werden.
-
Es gibt viele Anwendungen, bei denen Nichtcopyright-Daten auf einer Speicherkarte aufgezeichnet werden und davon wiedergegeben werden. Beispiele umfassen das Aufzeichnen herkömmlicher Umgangssprache (welche üblicherweise mit einem hohen Kompressionsverhältnis vor deren Speicherung komprimiert wird) von einer elektronischen Standbildkamera oder einer Videokamera usw., wobei es in diesen Fällen nicht notwendig ist, eine Einrichtung bereitzustellen, um das Copyright der Daten zu schützen. Allgemein ist eine Sicherheitsspeicherkarte, welche eine Verschlüsselungsfunktion hat, teuerer als eine Nichtsicherheits-Speicherkarte (nämlich eine herkömmliche Speicherkarte). Somit werden Sicherheitsspeicherkarten (und verknüpfte Geräte) bei Anwendungen verwendet, welche diese erfordern, während Nichtsicherheits-Speicherkarten und Geräte für andere Anwendungen verwendet werden können, um die Kosten zu reduzieren.
-
Sicherheitsgeräte nach dem Stand der Technik weiden üblicherweise nur mit Sicherheitsspeicherkarten verwendet, während Nichtsicherheitsgeräte üblicherweise lediglich mit Nichtsicherheits-Speicherkarten verwendet werden.
-
TING T-K et al: A ”50NS COMS 256 EEPROM” IEEE Journal of Solid-State Circuits, IEEE INC. New York, US, Band 23, Nr. 5, 1. Oktober 1988, (1988-10-01), Seite 1164–1170, XP000037032 ISSN: 0019–9200 offenbart einen EEPROM, der eine Speichergruppe, eine Programmiersteuerlogik und eine Datenschutzsicherung aufweist. Während eines Schreibbetriebs werden 8 Datenbits und 4 Paritätsbits in Spaltenspeicher geladen und dann in die Speichergruppe geschrieben. Die Programmiersteuerlogik erzeugt Steuersignale, um die Adresse und die Daten zu speichern. Es wird ein Seitenmodus-Programmieren angewandt. Der Seitenmoduszyklus umfasst eine Ladeperiode und eine Programmierperiode. Ein Datenschutzmodus kann eingestellt werden, indem eine Drei-Code-Instruktion während der Ladeperiode des Seitenmoduszyklus ausgegeben wird. Wenn der Datenschutzmodus einmal eingestellt ist, kann keine weitere Programmierung angewandt werden, wenn nicht die gleiche Drei-Code-Instruktion am Beginn jeder Ladeperiode ausgegeben wird. Eine Sechs-Code-Instruktion wird verwendet, den Datenschutzmodus zurückzusetzen, der durch eine EEPROM-Sicherung gesteuert wird. Die Schaltung ist ausgebildet, wiederholte Sicherungsprogrammierung zu verhindern und somit die maximale Lebensdauer der Sicherung beizubehalten.
-
In der
WO 95/16238 A wird eine Einrichtung nach dem Stand der Technik beschrieben. Bei diesem Stand der Technik ist ein Datenverarbeitungssystem offenbart, welches eine Sicherheitsdaten-Verarbeitungseinheit und eine Speichereinheit umfasst, welche daran angebracht ist und welche mit der Sicherheitsdaten-Verarbeitungseinheit betreibbar ist, wobei die Speichereinheit einen nichtflüchtigen Speicher, eine Sicherungseinrichtung zum Schützen der Sicherheit der Daten, welche in der nichtflüchtigen Speicherkarte gespeichert sind, und eine Schnittstelle aufweist, um von einer Datenverarbeitungseinheit Steuerdaten zu empfangen, die Schnittstelle empfängt erste Steuerdaten und zweite Steuerdaten, die gegenüber den ersten Steuerdaten verschieden sind, wobei die Schnittstelle empfangene erste Steuerdaten für einen Lese- oder Schreibbetrieb in Bezug auf den nichtflüchtigen Speicher empfängt und empfangene zweite Steuerdaten für einen Sicherheitsbetrieb der Sicherheitseinrichtung liefert; die Speichereinheit, welche entnehmbar daran angebracht ist und welche mit einer Nichtsicherheits-Datenverarbeitungseinheit betreibbar ist, welche die ersten Steuerdaten überträgt und die zweiten Steuerdaten nicht überträgt, welche außerdem daran lösbar anbringbar ist und mit der Sicherheitsdaten-Verarbeitungseinheit betriebsfähig ist, welche sowohl die ersten als auch die zweiten Steuerdaten überträgt, wobei die Speichereinheit betriebsfähig ist, einen Berechtigungscode zu erzeugen, um die Sicherheitsdaten-Verarbeitungseinheit zu berechtigen, wodurch nach Berechtigung die Speichereinheit betriebsfähig ist, verschlüsselte Daten zu empfangen.
-
Das Handbuch der Chipkarten, Renkel/Effing, 3. Auflage, veröffentlicht am 25. März 1999, Seite 171–173, beschreibt eine Einrichtung nach dem Stand der Technik, die eine Sicherheitseinrichtung hat, welche konfiguriert ist, die Sicherheit von Daten zu schützen, welche in einem Speicher gespeichert sind, wobei ein Sitzungsschlüssel mit einer Host-Einrichtung anteilig genutzt wird.
-
Die vorliegende Erfindung stellt ein Datenverarbeitungssystem nach Anspruch 1 und ein Datenverarbeitungsverfahren nach Anspruch 8 bereit.
-
Die Erfindung wird nun als Beispiel unter Bezug auf die beiliegenden Zeichnungen beschrieben, wobei durchwegs gleiche Teile mit gleichen Bezugszeichen bezeichnet sind, und in denen:
-
1 ein Gesamtaufbau eines Rekorders/Players und einer Speicherkarte gemäß einer Ausführungsform der vorliegenden Erfindung zeigt;
-
2 den Innenaufbau einer Sicherheitsspeicherkarte zeigt, welche bei einem System nach einer Ausführungsform der vorliegenden Erfindung verwendet wird;
-
3 den Innenaufbau einer Nichtsicherheits-Speicherkarte zeigt;
-
4 den Aufbau einer Dateisystem-Verarbeitungshierarchie eines Flash-Speichers nach einer Ausführungsform der vorliegenden Erfindung zeigt;
-
5 ein Format einer physikalischen Datenstruktur eines Flash-Speichers zeigt;
-
6 den Aufbau eines Boot-Blocks eines Flash-Speichers zeigt;
-
7 den Aufbau von Boot- und Attribut-Information eines Boot-Blocks eines Flash-Speichers zeigt;
-
8A und 8B die Beziehung zwischen Inhalten und einem Schlüssel zeigen;
-
9 ein Diagramm ist, auf welches bei der Erläuterung eines Verschlüsselungsprozesses bei einem Aufzeichnungsbetrieb bezuggenommen wird;
-
10 ein Diagramm ist, auf welches bei der Erläuterung eines Berechtigungsprozesses bezuggenommen wird;
-
11 ein Diagramm ist, auf welches bei der Erläuterung eines Verschlüsselungsprozesses bei einem Aufzeichnungsbetrieb bezuggenommen wird;
-
12 ein Diagramm ist, auf welches bei der Erläuterung eines Verschlüsselungsprozesses bei einem Wiedergabebetrieb bezuggenommen wird;
-
13 ein Diagramm ist, auf welches bei der Erläuterung eines Verschlüsselungsprozesses bei einem Wiedergabebetrieb bezuggenommen wird;
-
14 ein Diagramm ist, auf welches bei der Erläuterung eines Betriebs einer Schnittstelle bezuggenommen wird, welche zwischen dem Rekorder und der Speicherkarte angeordnet ist;
-
15 ein Diagramm ist, auf welches bei der Erläuterung eines Betriebs einer Schnittstelle bezuggenommen wird, welche zwischen dem Rekorder und der Speicherkarte liegt;
-
16 eine Tabelle ist, welche Beispiele von Protokollbefehlen zeigt, welche bei Ausführungsform der Erfindung verwendet werden können;
-
17–18 Tabellen sind, welche Befehle zeigen, welche bei Ausführungsformen der Erfindung verwendet werden können; und
-
19 ein schematisches Blockdiagramm einer Speichereinheit ist, welche bei einem System nach Ausführungsformen der Erfindung verwendet wird.
-
1 ein Blockdiagramm, welches den Aufbau eines digitalen Audiorekorders/Players 1 gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung zeigt. Der digitale Audiorekorder/Player 1 zeichnet ein digitales Audiosignal unter Verwendung einer lösbaren Speicherkarte (oder eines Speicher-Sticks) 40 auf und gibt dieses wieder. Der Rekorder/Player 1 kann Teil eines Audiosystems zusammen mit einer Verstärkungseinheit (nicht gezeigt), Lautsprechern (nicht gezeigt), eines CD-Players (nicht gezeigt), eines MD-Rekorders (nicht gezeigt), eines Tuners (nicht gezeigt), usw. sein. Es sollte jedoch angemerkt werden, dass die vorliegende Erfindung bei anderen Audiogeräten angewandt werden kann. Beispielsweise kann der Rekorder/Player 1 eine tragbare Einrichtung sein. Die vorliegende Erfindung kann außerdem bei einer Set-Top-Box angewandt werden, welche digitale Audiodaten aufzeichnet, welche über Satellitenkommunikation, digitalen Rundfunk oder Internet, usw. in Umlauf gebracht werden. Außerdem kann die vorliegende Erfindung bei einem System angewandt werden, welches Bewegtbilddaten und Standbilddaten bevorzugt zu Audiodaten aufzeichnet/wiedergibt. Ein System nach einer Ausführungsform der vorliegenden Erfindung kann außerdem Zusatzinformation aufzeichnen und wiedergeben, beispielsweise Bild und Text, abgesehen von einem digitalen Audiosignal.
-
Der Rekorder/Player 1 (der auch als ”Datenverarbeitungseinheit” angesehen werden kann) hat eine Zentralverarbeitungseinheit 2 (CPU), einen Sicherheitsblock 3, eine Betriebstaste 4 und eine Anzeigeeinrichtung 5. Der Sicherheitsblock 3, die Betriebstaste 4 und die Anzeigeeinrichtung 5 sind über einen Bus 16 mit der CPU 2 verbunden.
-
Der Sicherheitsblock 3 weist eine Daten-Verschlüsselungs-Standard-Verschlüsselungsschaltung (”DES”-Schaltung) auf. Daten, beispielsweise ein Aufzeichnungsbefehl, ein Wiedergabebefehl oder dgl. entsprechend einer Betätigung des Benutzers der Betriebstaste 4 werden über den Bus 16 zur CPU 2 geliefert. Verschiedene Information, der Betriebszustand des Rekorders/Players 1 usw. werden auf der Anzeigeeinrichtung 5 angezeigt. Eine Audioschnittstelle 6 ist zwischen einem externen Eingang/Ausgang, was später weiter ausführlich beschrieben wird, und einem internen Audiocodierer/Decodierer 7 angeordnet.
-
Wie später beschrieben wird, ist die Speicherkarte 40 ein IC-Chip, welche einen Flash-Speicher (nichtflüchtigen Speicher) 42, einen Steuerblock 41, einen Sicherheitsblock 52 (Sicherheitsblock 52 kann eine DES-Verschlüsselungsschaltung aufweisen), eine Kommunikationsschnittstelle, ein Register usw. hat. Die Speicherkarte 40 ist am Rekorder/Player 1 anbringbar und davon lösbar. Der Rekorder/Player 1 ist außerdem mit einer Speicherkarte kompatibel, welche keine Verschlüsselungsfunktion hat (nämlich den Sicherheitsblock 52).
-
Der Audiocodierer/Decodierer 7 codiert digitale Audiodaten gemäß einem hochwirksamen Codierverfahren, welches auf die Speicherkarte 50 geschrieben wird. Zusätzlich decodiert der Codierer/Decodierer 7 codierte Daten, welche von der Speicherkarte 40 gelesen wird. Das Codierverfahren mit dem hochwirksamen ATRAC3-Format, welches eine Modifikation des adaptiven Transformationsakustik-Codierformats (”ATRAC”) ist, welches für MDs verwendet wird, kann verwendet werden.
-
Bei dem ATRAC3-Format werden Audiodaten, welche mit 44,1 kHz abgetastet werden und welches mit 16 Bits quantisiert werden, mit hoher Wirksamkeit codiert. Die minimale Dateneinheit der Audiodaten zur Verarbeitung ist eine Toneinheit (”SU”). Eine SU enthält Daten von 1024 Abtastungen, und umfasst somit (1024 × 16 Bits × 2 Kanäle) Bits, welche auf Daten mehrerer hundert Bits komprimiert sind. Die Dauer einer SU beträgt ungefähr 23 ms. Bei diesem hochwirksamen Codierverfahren ist die Größe komprimierter Daten ungefähr 10 kleiner als die der ursprünglichen Daten. Verglichen mit dem ATRAC1-Format, welches bei MDs verwendet wird, ist ein Audiosignal, welches gemäß dem ATRAC3-Format komprimiert und dekomprimiert wird, bezüglich der Audioqualität weniger schlecht.
-
Als Beispiel liefert ein analoger Eingang 8 ein Wiedergabeausgabesignal einer MD, eines Tuners oder eines Bands zu einem Analog-Digital-Umsetzer 9 (”A/D”-Umsetzer). Der A/D-Umsetzer 9 setzt das Signal vom Analogeingang 8 in ein digitales Audiosignal um (Abtastfrequenz ist 44,1 kHz; die Anzahl der Quantisierungsbits beträgt 16) und liefert das umgesetzte digitale Signal zur Audioschnittstelle 6. Ein digitaler Eingang 10 liefert ein digitales Ausgangssignal einer MD, einer CD, eines digitalen Rundfunksignals oder in Umlauf gebrachte Netzwerk-Audiodaten zur Audioschnittstelle 6. Das digitale Eingangssignal wird beispielsweise über ein optisches Kabel übertragen. Die Audioschnittstelle 6 wählt ein zugeführtes digitales Audiosignal vom A/D-Umsetzer 9 und vom digitalen Eingang 10 aus, und liefert das ausgewählte zugeführte digitale Audiosignal zum Audiocodierer/Decodierer 7.
-
Der Audiocodierer/Decodierer 7 codiert das zugeführte digitale Audiosignal und liefert die codierten Daten zum Sicherheitsblock 3. Der Sicherheitsblock 3 verschlüsselt die codierten Daten, welche vom Audiocodierer/Decodierer 7 empfangen werden, um Copyrights hinsichtlich der Inhalte der Daten zu schützen (in diesem Beispiel ein digitales Audiosignal). Der Sicherheitsblock 3 des Rekorders/Players 1 kann mehrere Hauptschlüssel und einen einmaligen Einheit-Speicherschlüssel haben. Zusätzlich kann der Sicherheitsblock 3 eine Zufallszahl-Erzeugungsschaltung (nicht gezeigt) haben. Wenn die Speicherkarte 40, welche den Sicherheitsblock 52 hat, am Rekorders/Player 1 angebracht ist, bestimmt der Sicherheitsblock 3 des Rekorders/Players 1, ob die Speicherkarte 40 gültig ist oder nicht (er berechtigt nämlich die Speicherkarte 40). Nachdem der Sicherheitsblock 3 des Rekorders/Players 1 die Speicherkarte 40 passend berechtigt hat, teilen sich der Sicherheitsblock 3 des Rekorders/Players 1 und der Sicherheitsblock 52 der Speicherkarte 40 einen Sitzungsschlüssel anteilig.
-
Die verschlüsselten Audiodaten, welche vom Sicherheitsblock 3 ausgegeben werden, werden zur CPU 2 geliefert. Die CPU 2 kommuniziert mit der Speicherkarte über eine bidirektionale serielle Schnittstelle 11. Bei einer Ausführungsform ist die Speicherkarte 40 an einem Anbringungs-/Loslösungsmechanismus (nicht gezeigt) des Rekorders/Players 1 angebracht. Die CPU 2 schreibt die verschlüsselten Daten auf den Flash-Speicher 42 der Speicherkarte 40. Die verschlüsselten Daten werden zwischen der CPU 2 und der Speicherkarte 40 seriell übertragen.
-
Die CPU 2 liest die verschlüsselten Audiodaten über die Speicherschnittstelle 11 von der Speicherkarte 40 und liefert diese Daten zum Sicherheitsblock 3. Der Sicherheitsblock 3 entschlüsselt die verschlüsselten Audiodaten. Die entschlüsselten Audiodaten werden zum Audiocodierer/Decodierer 7 geliefert, der die entschlüsselten Audiodaten decodiert. Ein Ausgangssignal des Audiocodierers/Decodierers 7 wird über eine Audioschnittstelle 6 zu einem D/A-Umsetzer 12 geliefert. Der D/A-Umsetzer 12 setzt die digitalen Audiodaten in ein analoges Audiosignal um und überträgt diese über den Ausgangsanschluss 3. Audiodaten, welche vom Audiocodierer/Decodierer 7 empfangen werden, und decodierte Daten, welche vom Sicherheitsblock 3 empfangen werden, können auch als digitale Ausgangssignale über Ausgänge 14 bzw. 15 über die Schnittstelle 6 ausgegeben werden.
-
2 ist ein Blockdiagramm, welches den Innenaufbau der Speicherkarte 40 zeigt. Die Speicherkarte 40 ist eine integrierte Einchip-Schaltung (IC), welche den Steuerblock 41, den Sicherheitsblock 52, und den Flash-Speicher 42 umfasst. Wie in 2 gezeigt ist, besteht die serielle bidirektionale Schnittstelle 11, welche zwischen der CPU 2 des Rekorders/Players 1 und der Speicherkarte 40 angeordnet ist, aus 10 Leitungen, welche eine Taktleitung (SCK) aufweisen, um das Taktsignal zu übertragen, wie es gemeinsam mit Daten übertragen wird, eine Statusleitung SBS zum Übertragen eines Statussignals, eine Datenleitung DIO zum Übertragen von Daten, eine Interruptleitung INT, zwei GND-Leitungen, zwei VCC-Leitungen und zwei Reserveleitungen.
-
Die vier Hauptleitungen von den 10 Leitungen sind die Taktleitung SCK, die Statusleitung SBS, die Datumsleitung DIO und die Interruptleitung INT. Die Taktleitung SCK wird dazu verwendet, ein Taktsignal zu senden, um die Datenübertragung zu synchronisieren. Die Statusleitung SBS wird verwendet, ein Statussignal zu senden, welches den Status der Speicherkarte 40 zeigt. Die Datenleitung DIO wird verwendet, einen Befehl und verschlüsselte Audiodaten auszugeben und zuzuführen. Die Interruptleitung INT wird verwendet, ein Interrupt-Anforderungssignal von der Speicherkarte 40 zu senden und gibt dieses zur CPU 2 des Rekorders/Players 1 aus. Wenn die Speicherkarte 40 am Rekorders/Player 1 angebracht ist, wird ein Interruptsignal erzeugt. Bei einer anderen Ausführungsform wird das Interruptsignal über eine Datenleitung DIO gesendet, wobei in diesem Fall die Interruptleitung INT geerdet ist und nicht verwendet wird.
-
Ein serieller/paralleler und ein paralleler/serieller Schnittstellenblock (”S/P- und P/S-IF-Block”) 43 ist eine Schnittstelle des Steuerblocks, der mit der Schnittstelle gekoppelt ist. Der S/P- und P/S-IF-Block 43 setzt serielle Daten, welche vom Rekorder/Player 1 empfangen werden, in parallele Daten um. Er setzt außerdem parallele Daten des Steuerblock 41 in serielle Daten um und liefert die seriellen Daten zum Rekorder/Player 1. Außerdem trennt der S/P- und P/S-IF-Block 43 einen Befehl und Daten, welche über die Datenleitung DIO empfangen werden, in die, um auf den Flash-Speicher 42 zuzugreifen, und in die, um einen Verschlüsselungsprozess durchzuführen.
-
Anders ausgedrückt werden mit der Datenleitung DIO, nachdem ein Befehl gesendet wurde, die Daten gesendet. Der S/P- und P/S-IF-Block 43 bestimmt, ob der empfangene Befehl und Daten dazu sind, um auf den Flash-Speicher 42 zuzugreifen, oder um den Verschlüsselungsprozess durchzuführen, über den Code des empfangenen Befehls. Entsprechenden dem bestimmten Ergebnis wird ein Befehl zum Zugreifen auf den Flash-Speicher 42 in einem Befehlsregister 44 gespeichert, und die Daten werden in einem Seitenpuffer 45 und einem Schreibregister 46 gespeichert. In Verbindung mit dem Schreibregister 46 ist eine Fehlerkorrekturcode-Codierschaltung 47 angeordnet. Die Fehlerkorrekturcode-Codierschaltung 47 erzeugt einen redundanten Code eines Fehlerkorrekturcodes für Daten, die vorübergehend in einem Seitenpuffer 45 gespeichert werden.
-
Ausgangsdaten des Befehlsregisters 44, des Seitenpuffers 45, des Schreibregisters 46 und der Fehlerkorrekturcode-Codierschaltung 47 werden zu einer Flash-Speicherschnittstelle und Sequenzer (”Speicher-IF und Sequenzer”) 51 geliefert. Der Speicher-IF und Sequenzer 51 ist eine Schnittstelle, welche mit dem Flash-Speicher 42 gekoppelt ist und steuert Daten, welche zwischen dem Flash-Speicher 42 und dem Steuerblock 41 ausgetauscht werden, beispielsweise werden Daten auf den Flash-Speicher 42 über den Speicher-IF und Sequenzer 51 geschrieben.
-
Daten, welche vom Flash-Speicher 42 gelesen werden, werden zum Seitenpuffer 45, einem Leseregister 48 und zur Fehlerkorrekturschaltung 49 über den Speicher-IF und Sequenzer 51 geliefert. Die Fehlerkorrekturschaltung 49 korrigiert eine Seite (Seiten) von Daten, welche im Seitenpuffer 45 gespeichert sind. Fehlerkorrekturdaten, welche vom Seitenpuffer 45 ausgegeben werden, und Daten, welche vom Leseregister 48 ausgegeben werden, werden zum S/P- und P/S-IF-Block 43 geliefert und dann über die serielle Schnittstelle 11 zur CPU 2 des Rekorders/Players 1 geliefert.
-
Um Copyrights hinsichtlich der Inhalte (Audiodaten, welche im ATRAC3-Format (”ATRAC3-Daten”) komprimiert wurden), welche auf den Flash-Speicher 42 geschrieben werden, zu schützen, wirken der Sicherheitsblock 3 des Rekorders/Players 1 und der Sicherheitsblock 43 der Speicherkarte 40 zusammen, um die Inhalte zu codieren. Der Sicherheitsblock 42 hat einen Pufferspeicher 53, eine DES-Verschlüsselungsschaltung 54, einen nichtflüchtigen Speicher 55 usw..
-
Wie in 2 gezeigt ist, ist ein Konfigurations-ROM 50 im Steuerblock 41 angeordnet. Der Konfigurations-ROM 50 speichert Versionsinformation und verschiedene Arten an Attributinformation der Speicherkarte 40. Die Speicherkarte 40 hat einen Schreibschutzschalter 60, der durch einen Benutzer betätigbar ist. Wenn der Schalter 60 in die Schreibschutzposition plaziert wird, wird, sogar, wenn der Rekorder/Player 1 einen Löschbefehl zum Flash-Speicher 42 sendet, verhindert, dass Daten, welche im Flash-Speicher 42 gespeichert sind, gelöscht werden. Wenn der Schalter 60 in die Nichtschreibschutzposition plaziert ist, sind Daten, welche im Flash-Speicher 42 gespeichert sind, löschbar. Ein Oszillator 61 erzeugt ein Taktsignal, welches als Zeitgabereferenz für Prozesse verwendet wird, welche auf der Speicherkarte 40 durchgeführt werden.
-
Der Sicherheitsblock 52 der Speicherkarte 40 hat mehrere Berechtigungsschlüssel und einen für die Speicherkarte einmaligen Speicherschlüssel. Der nichtflüchtige Speicher 55 speichert einen Entschlüsselungs- oder Speicherschlüssel, auf den von außerhalb des Sicherheitsblocks 52 nicht zugegriffen werden kann. Der Sicherheitsblock 52 hat eine Zufallszahl-Erzeugungsschaltung. Der Sicherheitsblock 52 kann den Rekorder/Player 1 berechtigen (der ein eigens dafür bestimmtes System bilden kann, welches ein vorher festgelegtes Datenformat nutzt), und kann einen Sitzungsschlüssel dazwischen anteilig nutzen. Ein Inhaltsschlüssel zum Verschlüsseln der ATRAC3-Daten ist mit dem Sitzungsschlüssel verschlüsselt und wird zwischen dem Rekorder/Player 1 und der Speicherkarte 40 gesendet. Wie der Sicherheitsblock 52 der Speicherkarte 40 hat der Sicherheitsblock 3 des Rekorders/Players 1 einen einmaligen Gerätespeicherschlüssel. Wenn Inhalte verschlüsselt wurden und diese auf dem Flash-Speicher gespeichert werden sollen, wird ein entsprechender Inhaltschlüssel verschlüsselt, wobei der Speicherschlüssel verwendet wird, der mit den verschlüsselten Inhalten gespeichert wird.
-
3 zeigt eine Speicherkarte 40', welche keine Verschlüsselungsfunktion hat. Anders ausgedrückt ist die Speicherkarte 40' eine Nichtsicherheits-Speicherkarte. Im Gegensatz zur Speicherkarte 40, welche in 2 gezeigt ist, hat die Speicherkarte 40' keinen Sicherheitsblock 52. Der übrige Aufbau der Speicherkarte 40' ist in etwa der gleiche wie der der Speicherkarte 40. Außerdem kann die Größe und die Form der Speicherkarte 40 die gleiche sein wie die der Speicherkarte 40. Da der Rekorder/Player 1, der in 1 gezeigt ist, ein Sicherheitsrekorder ist, werden der Rekorder/Player 1 und die Speicherkarte 40 wechselseitig berechtigt, und ein Schlüssel wird dazwischen mitgeteilt. Wenn die Speicherkarte 40', welche in 3 gezeigt ist, am Rekorder/Player 1 angebracht ist, bestimmt der Rekorder/Player 1, dass die Speicherkarte 40' eine Nichtsicherheits-Speicherkarte ist, und dass diese nicht mit dem Rekorder/Player 1 verwendet werden kann.
-
Es gibt mehrere Verfahren, mit denen der Rekorder/Player 1 die Art der Speicherkarte, die daran angebracht ist, bestimmen kann. Als ein Beispiel wird, wenn die Speicherkarte 40' am Rekorder/Player 1 angebracht ist, ein Schlüssel vom Rekorder/Player 1 zur Speicherkarte 40' gesendet, um diese somit zu berechtigen. Da die Speicherkarte 40 keine korrekte Antwort an den Rekorder/Player 1 sendet, bestimmt der Rekorder/Player 1, dass die Speicherkarte 40' keine Sicherheitskarte ist, nach einer bestimmten Auslaufperiode. Als weiteres Beispiel kann, wenn die Speicherkarte 40 oder 40' am Rekorder/Player 1 angebracht ist, Identifikationsinformation, die zeigt, ob die Speicherkarte die Sicherheitsspeicherkarte ist oder nicht, in einem vorher festgelegten Bereich (Boot-Bereich) der Speicherkarte aufgezeichnet sein. Beim Lesen dieser Identifikationsinformation kann der Rekorder/Player 1 die Art der daran befestigten Speicherkarte bestimmen.
-
Zusätzlich zum Rekorder/Player 1, der in 1 gezeigt ist, wird eine Einheit, welche eine Nichtsicherheits-Speicherkarte 40' verwenden kann, gezeigt. Ein Beispiel ist ein digitaler Palmkorder”, der ein Bild mit einer ladungsgekoppelten Einrichtungs-Kamera auf ”CCD”-Kamera auf der Speicherkarte 40' aufzeichnet und das fotografierte Bild davon wiedergibt. Wie später beschrieben wird, ist, gemäß der Ausführungsform der vorliegenden Erfindung, um die Kompatibilität der Speicherkarte 40 zu verbessern, diese so aufgebaut, dass eine Nichtsicherheitseinrichtung, beispielsweise ein digitaler Palmkorder Daten aufzeichnen und wiedergeben kann, wobei die Speicherkarte 40 verwendet wird. Anders ausgedrückt hat wie oben beschrieben der S/P- und P/S-IP-Block 43 eine Funktion, um den Befehl und Daten für den Flash-Speicher 42 und die für den Sicherheitsblock 52 zu trennen.
-
Gemäß einer Ausführungsform speichern die Speicherkarten 40 und 40' Daten unter Verwendung einer Dateizuteilungstabelle-Dateisystem (”FAT”-System) eines Personalcomputers wie bei dem plattenförmigen Aufzeichnungsmedium. Der Flash-Speicher 42 umfasst einen Anfangsprogramm-Ladebereich (”IPL”), einen FAT-Bereich und ein Hauptverzeichnis. Der IPL-Bereich speichert die Adresse eines Programms, das anfangs in den Speicher des Rekorders/Players 1 geladen wird. Außerdem speichert der IPL-Bereich verschiedene Arten an Information des Flash-Speichers 42. Der FAT-Bereich speichert Daten in Bezug auf Speicherblöcke im Flash-Speicher 42. Anders ausgedrückt speichert der FAT-Bereich Werte, welche nicht verwendete Blöcke, die nächste Blocknummer, schlechte Blöcke und den letzten Block zeigen. Der Hauptverzeichnisbereich speichert einen Verzeichniseintrag (Dateiattribut, Aktualisierungsdatum (Jahr, Monat und Tag), Start-Cluster, Dateigröße usw.) Zusätzlich zu dem Dateiverwaltungssystem, welches in dem Format der Speicherkarten 40 und 40' definiert ist, können die Dateiverwaltungsinformation (eine Spurinformationsverwaltungsdatei) für eine Musikdatei definiert werden. Die Spurinformations-Verwaltungsdatei ist im Flash-Speicher 42 gespeichert, wobei der Benutzerblock der Speicherkarten 40 und 40' verwendet wird. Sogar, wenn die FAT der Speicherkarte 40 oder 40' beschädigt ist, kann somit die Datei wiederhergestellt werden.
-
Die Spurinformations-Verwaltungsdatei wird durch die CPU 2 gebildet. Wenn die Spannungsversorgung des Rekorders/Players 1 eingeschaltet ist, bestimmt die CPU 2, ob die Speicherkarte 40 oder 40' am Rekorder/Player 1 angebracht ist oder nicht. Wenn die Speicherkarte 40 oder 40' am Rekorder/Player 1 angebracht ist, liest die CPU 2 einen Boot-Block des Flash-Speichers 42. Gemäß der Identifikationsinformation des Boot-Blocks bestimmt die CPU 2, ob die Speicherkarte eine Sicherheitsspeicherkarte ist oder nicht.
-
Wenn die Speicherkarte 40 angebracht ist (d. h., eine Sicherheitsspeicherkarte ist), führt die CPU 2 einen Berechtigungsprozess durch. Andere Daten, welche von der Speicherkarte 40 gelesen werden, werden in einem Speicher (nicht gezeigt), der durch die CPU 2 verwaltet wird, gespeichert. In den Flash-Speicher 42 der Speicherkarte 40 oder 40', welche nicht verwendet wurde, bevor sie vertrieben wird, werden eine FAT und ein Hauptverzeichnis geschrieben. Wenn Daten aufgezeichnet sind, wird die Spurinformations-Verwaltungsdatei gebildet. Wenn die CPU 2 die Speicherkarte 40 berechtigt hat, zeichnet der Rekorder/Player 1 eine verschlüsselte ATRAC3-Datendatei auf oder gibt sie wieder.
-
Wenn Daten aufgezeichnet werden, wird ein Aufzeichnungsbefehl, der entsprechend der Betätigung der Betriebstaste 4 ausgegeben wird, zur CPU 2 gesendet. Die zugeführten Audiodaten werden durch den Codierer/Decodierer 7 komprimiert. Die ATRAC3-Daten, welche vom Codierer/Decodierer 7 empfangen werden, werden durch den Sicherheitsblock 3 verschlüsselt. Die CPU 2 speichert die verschlüsselten ATRAC3-Daten auf dem Flash-Speicher 42 der Speicherkarte 40. Danach werden die FAT und Spurinformations-Verwaltungsdatei aktualisiert. Wenn die Datei aktualisiert ist (nämlich Audiodaten aufgezeichnet sind), werden die FAT und Spurinformations-Verwaltungsdatei auf den Speicher, der durch die CPU 2 gesteuert wird, umgeschrieben. Wenn die Speicherkarte 40 vom Rekorder/Player 1 gelöst wird oder die Versorgungsspannung des Rekorders/Players 1 ausgeschaltet wird, werden die End-FAT und Spurinformations-Verwaltungsdatei vom Speicher zum Flash-Speicher 42 der Speicherkarte 40 geliefert. Wenn in diesem Fall Audiodaten aufgezeichnet wurden, können die FAT und die Spurinformations-Verwaltungsdatei, die Flash-Speicher 42 gespeichert sind, umgeschrieben werden. Wenn Daten editiert werden, werden die Inhalte der Spurinformations-Verwaltungsdatei aktualisiert.
-
4 ist ein schematisches Diagramm, welches die Hierarchie der Dateisystemprozesse eines Computersystems zeigt, welches die Speicherkarte 40 oder 40' als Speichermedium verwendet. Wie hier gezeigt ist, ist der hierarchische Kopfebene eine Anwendungsprozessebene. Auf die Anwendungsprozessebene folgt eine Dateiverwaltungs-Prozessebene, eine logische Adressverwaltungsebene, eine physikalische Adressverwaltungsebene und eine Flash-Speicher-Zugriffsebene. Die Dateiverwaltungs-Prozessebene ist das FAT-Dateisystem. Physikalische Adressen werden individuellen Blöcken des Flash-Speichers auf der Speicherkarte 40 oder 40' zugeteilt. Die Beziehung zwischen den Blöcken des Flash-Speichers und die physikalischen Adressen dafür variieren nicht. Logische Adressen sind Adressen, welche auf der Dateiverwaltungs-Prozessebene logisch gehandhabt werden.
-
5 ist ein schematisches Diagramm, welches den physikalischen Aufbau von Daten zeigt, welche im Flash-Speicher 42 der Speicherkarte 40 oder 40' gehandhabt werden. Im Flash-Speicher 42 ist eine Dateneinheit (als Segment bezeichnet) in eine vorher festgelegte Anzahl von Blöcken (feste Länge) unterteilt. Ein Block ist in eine vorher festgelegte Anzahl von Seiten (feste Länge) unterteilt. Im Flash-Speicher 42 werden Daten von einem Block in einem Zeitpunkt gelöscht. Daten werden auf den Flash-Speicher 42 geschrieben oder davon als eine Seite in einem Zeitpunkt gelesen. Die Größe jedes Blocks ist die gleiche. Ebenso ist die Größe jeder Seite die gleiche. Ein Block besteht aus einer Seite 0 bis zur Seite m. Ein Block kann eine Speicherkapazität von 8 KB (Kilobytes) oder 16 KB haben, und eine Seite kann eine Speicherkapazität von 512 B (Bytes) haben. Wenn ein Block eine Speicherkapazität von 8 KB hat, beträgt die gesamte Speicherkapazität des Flash-Speichers 42 gleich 4 MB (512 Blöcke) oder 8 MB (1024 Blöcke). Wenn ein Block eine Speicherkapazität von 16 KB hat, beträgt die gesamte Speicherkapazität des Flash-Speichers 42 gleich 16 MB (1024 Blöcke), 32 MB (2048 Blöcke) oder 64 MB (4096 Blöcke).
-
Eine Seite besteht aus einem Datenbereich von 512 Bytes und einem redundanten Bereich von 16 Bytes. Die ersten drei Bytes des redundanten Bereichs ist ein Überschreibbereich, der umgeschrieben wird, wenn Daten aktualisiert werden. Die ersten drei Bytes enthalten nacheinander einen Blockstatusbereich, einen Seitenstatusbereich und einen Aktualisierungsstatusbereich. Die verbleibenden 13 Bytes des redundanten Bereichs sind Festdaten, welche von den Inhalten des Datenbereichs abhängen. Die 13 Bytes enthalten einen Verwaltungsflagbereich (1 Byte), einen logischen Adressbereich (2 Bytes), einen Formatreservebereich (5 Bytes), einen Verteilungsinformations-Fehlerkorrekturcode-Bereich (”ECC”) (2 Bytes), und einen ECC-Datenbereich (3 Bytes). Der Verteilungsinformations-ECC-Bereich enthält redundante Daten für einen Fehlerkorrekturprozess für den Verwaltungsflagbereich, den logischen Adressbereich und den Formatreservebereich. Der ECC-Datenbereich enthält redundante Daten für einen Fehlerkorrekturprozess für die Daten im 512-Byte-Datenbereich.
-
Der Verwaltungsflagbereich enthält ein Systemflag (1: Benutzerblock, 0: Boot-Block), ein Umsetzungstabellenflag (1: ungültig, 0: Tabellenblock), ein Kopierverbietungsflag (1: Kopie zulässig, 0: Kopie nicht zulässig), und ein Zugriffserlaubnisflag (1: frei, 0: Leseschutz).
-
Die ersten beiden Blöcke, Blöcke 0 und 1, sind Boot-Blöcke. Der Block 1 ist eine Sicherung des Blocks 0. Die Boot-Blöcke sind Kopfblöcke, welche auf der Speicherkarte 40 oder 40' gültig sind. Wenn die Speicherkarte 40 oder 40' am Rekorder/Player 1 angebracht ist, wird zunächst auf die Boot-Blöcke zugegriffen. Die verbleibenden Blöcke sind Benutzerblöcke. Die Seite 0 eines Boot-Blocks enthält einen Datenkopfbereich, einen Systemeintrittsbereich und einen Boot- und Attributinformationsbereich. Die Seite 1 eines Boot-Blocks enthält einen Verbotsblock-Datenbereich. Die Seite 2 eines Boot-Blocks enthält einen CIS-Bereich (Karteninformationsstruktur)/IDI (Identitätsansteuerinformation).
-
6 zeigt das Format der Seiten 0, 1 und 2 eines Boot-Blocks. Ein Datenkopf (368 Bytes) eines Boot-Blocks speichert eine Boot-Block-ID, eine Formatversion und eine Anzahl gültiger Einträge des Boot-Blocks. Ein Systemeintrag (48 Bytes) speichert die Startposition der verbotenen Blockdaten, deren Datengröße, deren Datenart, die Datenstartposition von CIS/EDI, die Datengröße und die Datenart.
-
Die Boot- und Attributinformation enthält die Speicherkartenart (Nur-Lesekarte/umschreibbare Art oder Hybridart), die Blockgröße, die Nummer der Blöcke, die Anzahl der gesamten Blöcke, die Sicherheits-/Nichtsicherheits-Art, die Kartenherstellungsdaten (Herstellungsdatum) usw..
-
7 zeigt den Aufbau der Boot- und Attribut-Information (96 Bytes), welche in 6 gezeigt ist. Die Boot- und Attribut-Information kann die Klasse der Speicherkarte, die Art (Nur-Lesekarte, Lese/Schreib-Freigabe, Hybrid oder beide Arten usw.) aufweisen, die Blockgröße, die Nummer der Blöcke, die Gesamtzahl der Blöcke, die Sicherheitsart/Nichtsicherheitsart, die Herstellungsdaten (das Datum der Herstellung: Jahr, Monat, Tag) usw.. Der Rekorder/Player 1 bestimmt, ob eine Speicherkarte der Sicherheitsart ist, bei der Sicherheitsinformation (1 Byte) verwendet wird. In 7 zeigt (*1) einen Datenposten, dass Rekorder/Player 1 liest und prüft, wenn die Speicherkarte daran angebracht ist; und (*2) zeigt den Herstellungs/Qualitätsverwaltungs-Datenposten.
-
Man weis, dass der Isolationsfilm des Flash-Speichers 42 sich verschlechtert, wenn Daten, welche darin gespeichert sind, umgeschrieben werden. Somit ist das Lebensdauer der Speicherkarte 40 oder 40' durch die Häufigkeit beschränkt, mit der der Flash-Speicher 42 umgeschrieben wird. Folglich ist es vorzuziehen, zu verhindern, dass auf einen bestimmten Speicherbereich (Block) des Flash-Speichers 42 wiederholt zugegriffen wird. Folglich werden, wenn Daten, welche bei einer bestimmten physikalischen Adresse gespeichert sind, umzuschreiben sind, aktualisierte Daten nicht in den gleichen Block zurück geschrieben. Anstelle davon werden die aktualisierten Daten auf einen Block geschrieben, der nicht verwendet wurde. Somit werden, nachdem die Daten aktualisiert werden, die Beziehung zwischen physikalischen Adresse und logischen Adressen variiert. Wenn ein derartiger Prozess (als Vertauschungsprozess bezeichnet) durchgeführt wird, wird verhindert, dass auf den gleichen Block wiederholt zugegriffen wird. Damit kann die Lebensdauer des Flash-Speichers 42 verlängert werden.
-
Da eine logische Adresse Daten, welche auf einen Block geschrieben werden, entspricht, kann sogar, wenn aktualisierte Daten physikalisch in einen anderen Block verschoben werden, die gleiche logische Adresse in der FAT beibehalten werden. Der Vertauschungsprozess bewirkt, dass die Beziehung zwischen logischen Adressen und physikalischen Adressen variiert. Somit wird eine Umsetzungstabelle, welche logischer Adressen in physikalische Adresse umsetzt, gemäß damit geändert, wenn ein derartiger Vertauschungsprozess durchgeführt wird. Unter Bezugnahme auf die Umsetzungstabelle wird eine physikalische Adresse, welche einer logischen Adresse entspricht, welche durch die FAT bestimmt wird, erlangt. Damit kann auf die aktualisierten Daten passend unter Verwendung der gleichen logischen Adresse zugegriffen werden.
-
Die Umsetzungstabelle, physikalische Adress-Umsetzungstabelle, ist in einem Speicher RAM (Speicher mit wahlfreiem Zugriff) durch die CPU 2 gespeichert. Wenn jedoch die Speicherkapazität des RAM klein ist, kann die Umsetzungstabelle für die logische Adresse/physikalische Adresse nicht im Flash-Speicher 42 gespeichert werden. Diese Tabelle bringt grundsätzlich logische Adressen (2 Bytes), welche in ansteigender Reihenfolge angeordnet sind, in Beziehung mit physikalischen Adressen (2 Bytes). Da die maximale Speicherkapazität des Flash-Speichers 42 gleich 128 MB (8192 Blöcke) ist, können mit den beiden Bytes 8192 Adressen dargestellt werden. Außerdem wird die Umsetzungstabelle für die logische Adresse/physikalische Adresse pro Segment verwaltet. Die Größe der Umsetzungstabelle für die logische Adresse/physikalische Adresse ist proportional zur Speicherkapazität des Flash-Speichers 42. Wenn die Speicherkapazität des Flash-Speichers 42 gleich 8 MB (2 Segmente) ist, werden zwei Seiten entsprechend den beiden Segmenten für die Umsetzungstabelle für die logische Adresse/physikalische Adresse verwendet. Wenn die Umsetzungstabelle für die logische Adresse/physikalische Adresse im Flash-Speicher 42 gespeichert ist, zeigt ein Bit des Verwaltungsflags des redundanten Bereichs jeder Seite, ob ein relevanter Block in der Umsetzungstabelle für die logische Adresse/physikalische Adresse gespeichert wurde oder nicht.
-
Anschließend wird die Sicherheitsschutzfunktion weiter beschrieben. Zunächst wird mit Hilfe von 8A und 8B die Beziehung zwischen einem Schlüssel und Inhalten beschrieben. Jeder Ton (oder Gesang), der im Flash-Speicher 42 gespeichert ist, kann als eine Spur bezeichnet werden. 8A zeigt eine Spur, welche im Flash-Speicher 42 gespeichert ist. Wie in 8A gezeigt ist, weist jede Spur einen Schlüsselbereich (Datenkopf) 101 auf. Ein Inhaltsschlüssel CK, der für jede Spur (Titel) der verschlüsselten Audiodaten gebildet ist, wird mit einem für die Speicherkarte einmaligen Speicherschlüssel Kstm verschlüsselt, und die resultierenden Daten werden im Schlüsselbereich 101 gespeichert. Der DES wird für den Verschlüsselungsprozess für die Inhaltschlüssel CK und den Speicherschlüssel Kstm verwendet. DES(Kstm, CK) zeigt, dass der Inhaltschlüssel CK mit dem Speicherschlüssel Kstm verschlüsselt ist. Ein codierter Wert hat vorzugsweise 64 Bits, der aus 56 Datenbits besteht, und 8 Bits einer Fehlererfassung durch zyklische Redundanzprüfung (”CRC”).
-
Jede Spur ist in Teile 102 unterteilt. Ein Teilschlüssel PK wird mit jedem Teil aufgezeichnet. Beispielsweise weist die in 8A gezeigte Spur nur ein Teil 102 auf. Das Teil 102 ist ein Satz an Blöcken 103 (jeweils 16 KB). Jeder Block 103 speichert einen Block-Startparameter BK_SEED und einen Anfangsvektor INV. Der Teilschlüssel PK ist mit einem Inhalteschlüssel CK gepaart, um somit einen Blockschlüssel BK zum Verschlüsseln der Inhalte zu bilden. Anders ausgedrückt BK = DS(CK(+)BK, BK_SEED) (56 Bits + 8 Bits), wobei (+) ein exklusives ODER darstellt). Der Anfangsvektor INV ist ein Anfangswert für einen Verschlüsselungs-/Entschlüsselungsprozess für einen Block.
-
8B bezieht sich auf Inhaltsdaten im Rekorder/Player 1. Ein Inhaltsschlüssel CK für jede Spur an Inhalten wird entschlüsselt, und die resultierenden Daten werden mit einem einmaligen Aufzeichnungsspeicherschlüssel Kstd wieder verschlüsselt. Die wieder verschlüsselten Daten werden in einem Schlüsselbereich 111 gespeichert. Anders ausgedrückt wird der Entschlüsselungsprozess durch IDS(Kstm/K) (56 Bits + 8 Bits) bezeichnet. Der Wiederverschlüsselungsprozess wird durch DES(Kstd, CK) (56 Bits + 8 Bits) bezeichnet. Ein Teilschlüssel BK zum Bilden eines Blockschlüssels BK wird für jedes Teil 112 der Inhalte aufgezeichnet. Jeder Block 113 eines Teils 112 kann einen Block-Startparameter BK-SEED und einen Anfangsvektor INV speichern. Wie bei der Speicherkarte wird der Blockschlüssel BK als BK = DES(CK(+)BK, BK_SEED) (58 Bits + 8 Bits) dargestellt.
-
Schreibbetrieb auf die Speicherkarte 40
-
Ein Verschlüsselungsprozess, der bei einem Aufzeichnungsbetrieb (Schreibbetrieb) des Rekorders/Players 1 verwendet werden kann, wird nun unter Bezug auf 9 erläutert. Aus Einfachheitsgründen sind in 9 Teile, die mit 1 ähnlich sind, mit ähnlichen Bezugszeichen versehen, und ihre Beschreibung wird weggelassen. Zusätzlich wurden die Schnittstelle 11, der Bus 16 und der Steuerblock 41, über welche Daten und Befehle zwischen den Komponenten des Rekorders/Players 1 und der Speicherkarte 40 übertragen werden, aus Einfachheitsgründen aus 9 und der nachfolgenden Prozesserläuterung weggelassen. In 9 ist SeK ein Sitzungsschlüssel, der anteilig zwischen dem Rekorder/Player 1 und der Speicherkarte 40 genutzt wird, nachdem sie sich wechselseitig berechtigt haben. In 9 ist das Bezugszeichen 10' eine CD und eine Quelle eines digitalen Audiosignals, welches am digitalen Eingangsanschluss 10 zugeführt wird.
-
Wenn die Speicherkarte 40 am Rekorder/Player 1 angebracht ist, bestimmt der Rekorder/Player 1, ob die Speicherkarte 40 eine Sicherheitsspeicherkarte ist oder nicht, unter Verwendung der Identifikationsinformation in dessen Boot-Bereich. Da die Speicherkarte 40 eine Sicherheitsspeicherkarte ist, berechtigen sich der Rekorder/Player 1 und die Speicherkarte 40 gegenseitig.
-
Der Prozess gegenseitiger Berechtigung zwischen dem Rekorder/Player 1 und der Speicherkarte 40 wird anschließend mit Hilfe von 10 beschrieben.
-
Nachdem ein Schreibanforderungssignal vom Rekorder/Player 1 zur Speicherkarte 40 gesendet ist, berechtigen sich der Rekorder/Player 1 und die Speicherkarte 40 wiederum gegenseitig, wie im weiteren Detail mit Hilfe von 10 beschrieben wird. Wenn der Rekorder/Player 1 und die Speicherkarte 40 sich einander als legitim gemäß dem gegenseitigen Identifikationsprozess erkennen, wird ein Schlüsselschreibprozess, wie ausführlicher mit Hilfe von 11 beschrieben wird, durchgeführt. Ansonsten wird der Schreibbetrieb beendet. Wenn der Schlüsselschreibprozess abgeschlossen ist, werden die Audiodaten verschlüsselt und auf die Speicherkarte 40 über die Schnittstelle 11 durch die CPU 2 geschrieben.
-
Bezugnehmend auf 9 erzeugt der Rekorder/Player 1 eine Zufallszahl für jede Datenspur (Ton), der zu schreiben ist und erzeugt einen entsprechenden Inhaltsschlüssel CK gemäß jeder der Zufallszahlen. Der Sicherheitsblock 3 des Rekorders/Players 1 verschlüsselt den Inhaltsschlüssel CK unter Verwendung eines Sitzungsschlüssels SeK. Der Rekorder/Player 1 gibt den verschlüsselten Inhaltsschlüssel CK an die Speicherkarte 40 aus. Die DES-Verschlüsselungs-/Entschlüsselungs-Schaltung 54 des Sicherheitsblock 52 in der Speicherkarte 40 entschlüsselt den verschlüsselten Inhaltsschlüssel CK und verschlüsselt wiederum den entschlüsselten Inhaltsschlüssel CK unter Verwendung eines Speicherschlüssels Kstm von der Speicherkarte 55. Die Speicherkarte 40 gibt den wiederum verschlüsselten CK an den Rekorder/Player 1 (CPU 2) aus. Der Rekorder/Player 1 (CPU 2) setzt den wiederum verschlüsselten Inhaltsschlüssel CK im Schlüsselbereich 111 jeder Spur (wie in 8B gezeigt ist). Der Rekorder/Player 1 erzeugt eine Zufallszahl für jeden Teildatenbereich 112 jeder Spur (wie in 8B gezeigt ist) und bildet einen Teilschlüssel PK gemäß jeder Zufallszahl. Jeder erzeugte Teilschlüssel PK wird in einem entsprechenden Teildatenbereich 112 durch die CPU 2 gesetzt.
-
Ein temporärer Schlüssel TMK kann durch Durchführen einer XOR-Operation des Teilschlüssels PK und des Inhaltsschlüssels CK durch den Rekorder/Player 1 für jeden Teildatenbereich 112 erzeugt werden, wie unten in der Gleichung (1) gezeigt ist. Die Bildung des temporären Schlüssels TMK ist nicht auf die Verwendung einer XOR-Funktion beschränkt. Es ist möglich, andere Funktionsoperationen zu verwenden, beispielsweise einen einfachen UND-Operator. TMK = PK XOR CK (1)
-
Der Rekorder/Player 1 erzeugt eine Zufallszahl für jeden Block 113 jedes Teildatenbereichs 112 und bildet einen Block-Startparameter BK_SEED gemäß jeder Zufallszahl. Außerdem setzt der Rekorder/Player 1 (CPU 2) den erzeugten Block-Startparameter BK_SEED in seine geeignete Position in jedem entsprechenden Block 113. Der Rekorder/Player 1 verwendet den temporären Schlüssel TMK und den Block-Startparameter BK_SEED in Gleichung (2), um einen Informationsberechnungscode-Betrieb (”MAC”) durchzuführen, um den Blockschlüssel BK für jeden Block 113 zu bilden. BK = MAC(TMK, BK_SEED) (2)
-
Es ist möglich, eine Verarbeitung abgesehen von einem MAC-Betrieb durchzuführen, indem ein Geheimschlüssel hinsichtlich der Zuführung eines SHA-1, RIPEMD-160 oder andere Einweg-Hash-Funktionen verwendet wird, um den Blockschlüssel BK zu erzeugen. Hier bestimmt die Einwegfunktion f eine Funktion, von welcher diese einfach y = f(x) von x berechenbar ist, jedoch es umgekehrt schwierig ist, x von y herauszufinden. Eine Einweg-Hash-Funktion ist ausführlich beschrieben in ”Handbook of Applied Cryptography, CRC Press”.
-
Der Audiocodierer/Decodierer 7 komprimiert das digitale Audiosignal, welches von der CPU 10' zum digitalen Eingangsanschluss 10 zugeführt wird, oder das digitale Signal vom A/D-Umsetzer 9, der ein analoges Audiosignal, welches dem analogen Eingangsanschluss 8 zugeführt wird, in ein digitales Signal umgesetzt, gemäß dem ATRAC3-Format. Danach verschlüsselt der Sicherheitsblock 3 die komprimierten Audiodaten in den Cipher-Block Chaining Mode (”CBC”) unter Verwendung des Blockschlüssels BK, wobei der CBC-Mode ein Datenverschlüsselungsmodus ist, der in Federal Information Processing Standard (”FIPS”) PUB 81 (”DES Modes of Operation”) vorgeschrieben ist.
-
Der Rekorder/Player 1 fügt Datenköpfe (Header) den verschlüsselten Audiodaten hinzu und gibt die Ergebnisse an die Speicherkarte 40 aus. Die Speicherkarte 40 schreibt die verschlüsselten Audiodaten und Datenköpfe in den Flash-Speicher 42. In diesem Zeitpunkt ist das Schreiben der Audiodaten vom Rekorder/Player auf die Speicherkarte 40 abgeschlossen.
-
10 zeigt einen Berechtigungsprozess, der zwischen dem Rekorder/Player 1 (SET) und der Speicherkarte 40 (Memory Card) durchgeführt wird. Im Schritt S1 erzeugt der Zufallszahlgenerator des Sicherheitsblocks 52 in der Speicherkarte 40 eine Zufallszahl Rm und sendet die Zufallszahl Rm und die Seriellnummer-ID der Speicherkarte 40 zum Rekorder/Player 1.
-
Im Schritt S2 empfängt der Rekorder/Player 1 Rm und ID und erzeugt einen Berechtigungsschlüssel IKj gemäß der Beziehung IKj = MAC(MKj, ID), wobei MKj einer der Hauptschlüssel ist, der im Sicherheitsblock gespeichert ist. Der Rekorder/Player 1 erzeugt eine Zufallszahl Rd und bildet einen Informationsberechtiger MACA (Message Authentication Code) mit dem Berechtigungsschlüssel, nämlich MAC(IKj, Rd//Rm//ID). Danach erzeugt der Rekorder/Player 1 eine Zufallszahl Sd und sendet Rd//Sd//MACA//j zur Speicherkarte 40.
-
Im Schritt S3 empfängt die Speicherkarte 40 die Daten RD//Sd//MACA//j, findet einen Berechtigungsschlüssel IKj vom Sicherheitsblock 52 entsprechend j und berechnet einen MACB mit dem Berechtigungsschlüssel IKj unter Verwendung von Rd, Rm und ID. Wenn der berechnete MACB gleich dem empfangenen MACA ist, bestimmt die Speicherkarte 40, dass der Rekorder/Player 1 gültig ist (d. h., berechtigt). Im Schritt S4 bildet die Speicherkarte 40 MACC = MAC(IKj, Rm//Rd) und erzeugt eine Zufallszahl Sm. Danach sendet die Speicherkarte 40 Sm//MACC zum Rekorder/Player 1.
-
Im Schritt S5 empfängt der Rekorder/Player 1 Sm//MACC von der Speicherkarte 40. Der Rekorder/Player 1 berechnet MACD unter Verwendung von IKj, Rm und Rd. Wenn der berechnete MACD gleich dem empfangenen MACC ist, bestimmt der Rekorder/Player 1, dass die Speicherkarte 40 gültig ist (d. h., berechtigt). Im Schritt S6 bestimmt der Rekorder/Player 1 MAC(IKj, Rm//Rd) als den Sitzungsschlüssel SeK. Im Schritt S7 bestimmt die Speicherkarte 40 MAC(IKj, Rm//Rd) als den Sitzungsschlüssel SeK. Wenn sich der Rekorder/Player 1 und die Speicherkarte 40 gegenseitig berechtigt haben, wird der Sitzungsschlüssel SeK anteilig dazwischen genutzt. Der Sitzungsschlüssel SeK wird erzeugt, immer dann, wenn die Berechtigung erfolgreich ist.
-
11 zeigt einen Schlüsselschreibprozess in dem Fall, wo der Rekorder/Player 1 (SET) Audiodaten auf den Flash-Speicher 42 der Speicherkarte (Memory Card) aufzeichnet. Im Schritt S11 erzeugt der Rekorder/Player 1 eine Zufallszahl für jede Spur der Inhalte und erzeugt einen Inhaltsschlüssel CK. Im Schritt S12 verschlüsselt der Rekorder/Player 1 den Inhaltsschlüssel CK mit dem Sitzungsschlüssel SeK und sendet den verschlüsselten DES(SeK, CK) zur Speicherkarte 40.
-
Im Schritt S13 empfängt die Speicherkarte die Daten DES(SeK, CK) vom Rekorder/Player 1 und verschlüsselt den Inhaltsschlüssel CK mit dem Sitzungsschlüssel SeK. Der Entschlüsselungsprozess wird durch IDES(SeK, DES (Sek, CK)) bezeichnet. Im Schritt S14 verschlüsselt wiederum die Speicherkarte 40 den entschlüsselten Inhaltsschlüssel CK mit dem Speicherschlüssel Kstm vom Speicher 56 und sendet den wiederum verschlüsselten Inhaltsschlüssel DES(Kstm, CK) zum Rekorder/Player 1.
-
Im Schritt S15 plaziert der Rekorder/Player 1 den wiederum verschlüsselten Inhaltsschlüssel CK in den Schlüsselbereich 111, um den entsprechenden Teildatenbereich 112 zu verwalten, und führt einen Formatierungsprozess durch, so dass der wiederum verschlüsselte Inhaltsschlüssel CK und die Inhalte auf den Flash-Speicher 42 der Speicherkarte 40 aufgezeichnet werden. Um die Inhalte zu verschlüsseln, werden der Inhaltsschlüssel CK und der Teilschlüssel PH exklusiv ODER-bearbeitet (XOR, oder alternativ UND)), wie in 9 und in der Gleichung 1 oben gezeigt ist. Das Ergebnis der XOR-Operation ist der temporäre Schlüssel TMK. Der temporäre Schlüssel TMK wird lediglich im Sicherheitsblock 3 gespeichert. Damit kann auf den temporären Schlüssel TMK von außerhalb des Sicherheitsblocks 3 nicht zugriffen werden. Am Beginn jedes Blocks 113 wird eine Zufallszahl als Block-Startparameter BK_SEED erzeugt. Die Zufallszahl wird in jedem Teildatenbereich 112 gespeichert. Der Rekorder/Player 1 verschlüsselt den Block-Startparameter BK_SEED mit dem temporären Schlüssel TMK, um einen Blockschlüssel BK zu erlangen. Anders ausgedrückt wird die Beziehung von BK = (CK(+)BK, BK_SEED) erlangt. Der Blockschlüssel BK wird lediglich im Sicherheitsblock 3 gespeichert. Damit kann auf den Blockschlüssel BK von außerhalb des Sicherheitsblocks 3 nicht zugegriffen werden.
-
Im Schritt S16 verschlüsselt der Rekorder/Player 1 die Daten in jedem Teildatenbereich 112 blockweise mit dem Blockschlüssel BK und sendet die verschlüsselten Daten und die Daten im Schlüsselbereich 111 zur Speicherkarte 40. Die Speicherkarte 40 zeichnet die verschlüsselten Daten und die Daten im Schlüsselbereich 111 (Datenkopfdaten), welche vom Rekorder/Player 1 empfangen werden, im Flash-Speicher 42 im Schritt S17 auf.
-
Lesebetrieb von der Speicherkarte 40
-
Ein Entschlüsselungsprozess zur Verwendung bei einem Wiedergabebetrieb (Lesebetrieb) des Rekorders/Players 1 wird nun mit Hilfe von 12 beschrieben. Aus Einfachheitsgründen sind in 12 ähnliche Teile wie die in 1 mit ähnlichen Bezugszeichen bezeichnet, so dass deren Beschreibung weggelassen wird. Außerdem wurde auf die Schnittstelle 11, den Bus 16 und den Steuerblock 41, über welche Daten und Befehle zwischen den Komponenten des Rekorders/Players 1 und der Speicherkarte 40 übertragen werden, von 12 und die folgende Prozesserläuterung aus Einfachheitsgründen verzichtet.
-
Ein Leseanforderungssignal, welches eine bestimmte Datenspur (Ton) spezifiziert, wird vom Rekorder/Player 1 zur Speicherkarte 40 gesendet. Der Rekorder/Player 1 und die Speicherkarte 40 führen einen gegenseitigen Berechtigungsbetrieb durch, wie oben mit Hilfe von 10 beschrieben wurde. Wenn der Rekorder/Player 1 und die Speicherkarte 40 einander als legitim gemäß dem gegenseitigen Identifikationsprozess erkennen, wird ein Schlüsselschreibprozess wie oben mit Hilfe von 11 beschrieben durchgeführt. Ansonsten wird der Lesebetrieb beendet. Wenn der Schlüsselschreibprozess abgeschlossen ist, werden die verschlüsselten Audiodaten von der Speicherkarte 40 durch die CPU 2 in den Rekorder/Player 1 gelesen.
-
Da die gegenseitige Identifikation zwischen der Speicherkarte 40 und dem Rekorder/Player 1 ausgeführt wird, kann der verschlüsselte Inhaltsschlüssel CK unter Verwendung des geeigneten Sitzungsschlüssels SeK nur dann entschlüsselt werden, wenn sich die Speicherkarte 40 und der Rekorder/Player 1 einander als legitim identifizieren. Daher wird eine unerlaubte Nutzung der Audiodaten einfach vermieden. Daten, welche während des Lesebetriebs gelesen wurden, wurden durch den oben beschriebenen Schreibbetrieb, der in 9 gezeigt ist, geschrieben. Das Setzen des Inhaltsschlüssels CK und des Teilschlüssels BK in jedem Teildatenbereich 112 und der Block-Startparameter BK_SEED in jedem Block 113 wird zum Schreiben von Daten auf und zum Lesen von Daten von dem entsprechenden Teildatenbereich 102 verwendet. Wenn der Schritt S6 von 2 beendet ist, teilen sich die Speicherkarte 40 und der Rekorder/Player 1 anteilig den Sitzungsschlüssel SeK. Das Lesen der Daten von der Speicherkarte 40 geht wie folgt weiter.
-
Die Speicherkarte 40 spezifiziert die Daten im Teildatenbereich 102 (8A) entsprechend dem Leseanforderungssignal und gibt die Audiodaten in Toneinheiten SUs von den Blöcken 103 (8A) im spezifizierten Teildatenbereich 102 aus. Die Speicherkarte 40 liest außerdem den entsprechenden Schlüsselbereich 101 (8A) der Audiodaten und gibt diesen an den Rekorder/Player 1 aus.
-
Der Rekorder/Player 1 fängt den verschlüsselten Inhaltsschlüssel CK von den Daten im Schlüsselbereich 101 auf und gibt diesen an die Speicherkarte 40 aus. Die DES-Verschlüsselungs-/Entschlüsselungs-Schaltung 54 des Sicherheitsblocks 52 in der Speicherkarte 40 entschlüsselt den verschlüsselten Inhaltsschlüssel CK unter Verwendung des Speicherschlüssels Kstm, der im Speicher 55 gespeichert ist, und verschlüsselt wiederum den entschlüsselten Inhaltsschlüssel CK unter Verwendung des Sitzungsschlüssels SeK.
-
Die Speicherkarte 40 gibt den wieder verschlüsselten Inhaltsschlüssel CK an den Rekorder/Player 1 aus. Der Rekorder/Player 1 entschlüsselt den wieder verschlüsselten Inhaltsschlüssel CK von der Speicherkarte 40 unter Verwendung des Sitzungsschlüssels SeK. Der Rekorder/Player 1 erlangt dann XOR des entschlüsselten Inhaltsschlüssels CK und den Teilschlüssel PK von den Daten in jedem Teildatenbereich 102, um den temporären Schlüssel TMK gemäß der Gleichung (3) zu erlangen. TMK = PK XOR CK (3)
-
Der Rekorder/Player 1 verwendet den temporären Schlüssel TMK und den Block-Startparameter BK_SEED in jedem Teildatenbereich 102, um den MAC-Betrieb durchzuführen, der in der folgenden Gleichung (4) gezeigt ist, um damit den Blockschlüssel BK zu erlangen. Der Blockschlüssel BK wird für jeden Block 103 wie folgt herausgefunden. BK = MAC(TMK, BK_SEED) (4)
-
Der Sicherheitsblock 3 des Rekorders/Players 1 entschlüsselt die Audiodaten unter Verwendung des Blockschlüssels BK. Insbesondere werden die Audiodaten für jeden Block 103 unter Verwendung des individuell herausgefundenen Blockschlüssels BK entschlüsselt. Außerdem wird die Entschlüsselung in den gleichen 16 KB-Blöcken 103 wie für die Verschlüsselung verwendet durchgeführt. Der Audiocodierer/Decodierer 7 expandiert die entschlüsselten Audiodaten gemäß dem ATRAC3-System und gibt das decodierte Signal über den digitalen Ausgangsanschluss 14 des D/A-Umsetzers aus, setzt das digitale Audiosignal in ein analoges Signal um und gibt das Ergebnis über einen analogen Ausgangsanschluss 13 aus. Alternativ werden die ATRAC3-Audiodaten vom Sicherheitsblock 3 über den Ausgangsanschluss 15 ausgegeben. Ein Audiocodierer/Decodierer 7 expandiert die Audiodaten in Toneinheiten SUs.
-
13 zeigt den Entschlüsselungsprozess, wenn der Rekorder/Player 1 eine Audiospur, welche im Flash-Speicher 42 der Speicherkarte 40 gespeichert ist, wiedergibt. Wie beim dem in 9 bis 11 gezeigten Schreibbetrieb wird der Sitzungsschlüssel SeK zwischen dem Rekorder/Player 1 und der Speicherkarte 40 anteilig genutzt, nachdem sie sich gegenseitig berechtigt haben.
-
Im Schritt S21 liest der Rekorder/Player 1 (SET) Daten von der Speicherkarte 40 (Memory Card) und erlangt den Inhaltsschlüssel CK, der mit dem Speicherschlüssel Kstm verschlüsselt wurde (nämlich DES(Kstm, CK)), und den entschlüsselten Inhalt (Teildatenbereich(s) 102 der gewünschten Spur. Danach sendet der Rekorder/Player 1 den Inhaltsschlüssel CK, der mit dem Speicherschlüssel Kstm verschlüsselt wurde, zur Speicherkarte 40.
-
Im Schritt S22 entschlüsselt die Speicherkarte 40 den Inhaltsschlüssel CK mit dem Speicherschlüssel Kstm (nämlich IDES(Kstm, DES(Kstm, CK)). Im Schritt S23 verschlüsselt die Speicherkarte 40 den entschlüsselten Inhaltsschlüssel CK mit dem Sitzungsschlüssel SeK und sendet DES(SeK, CK) zum Rekorder/Player 1.
-
Im Schritt S24 entschlüsselt der Rekorder/Player 1 den Inhaltsschlüssel CK mit dem Sitzungsschlüssel SeK. Im Schritt S25 bildet der Rekorder/Player 1 einen Blockschlüssel BK mit dem entschlüsselten Inhaltsschlüssel CK, einen Teilschlüssel PK und einen Block-Startparameter BK_SEED. Im Schritt S26 entschlüsselt der Rekorder/Player 1 jeden verschlüsselten Teildatenbereich 102 mit dem Blockschlüssel BK blockweise. Der Audiocodierer/Decodierer 7 decodiert die entschlüsselten Audiodaten.
-
Unter Bezug auf die in 2 gezeigt Schnittstelle 11 zeigt 14 ein Zeitablaufdatendiagramm, welches von der Speicherkarte 40 gelesen wird. Anders als im Zustand 0 (Anfangszustand) wird ein Taktsignal, welches verwendet wird, Daten zu synchronisieren, über die Taktleitung SCK gesendet. Wenn die Daten zwischen dem Rekorder/Player 1 und der Speicherkarte 40 gesendet oder empfangen werden, ist der Signalpegel der Statusleitung SBS niedrig. Ein Anfangszustand kann als ein Zustand oder Status 0 (Anfangszustand) bezeichnet werden. Beim zeitlichen Ablauf t31 veranlasst der Rekorder/Player 1, dass der Signalpegel der Statusleitung SBS hoch wird (Zustand 1).
-
Wenn der Signalpegel der Zustandsleitung SBS hoch wird, bestimmt die Speicherkarte 40 (S/P- und P/S-IF-Block 43), dass der Zustand 0 sich auf den Zustand 1 geändert hat. Im Zustand 1 sendet der Rekorder/Player 1 einen Lesebefehl über die Datenleitung DIO zur Speicherkarte 40. Damit empfängt die Speicherkarte 40 den Lesebefehl. Der Lesebefehl ist ein Protokollbefehl, der als Transfer Protocol Command (*TPC*) bezeichnet wird. Wie später beschrieben wird, bezeichnet der Protokollbefehl den Inhalt der Kommunikation und die Länge der Daten, die folgen.
-
Im Zeitpunkt t32, nachdem ein Befehl übertragen wurde, ändert sich der Signalpegel der Statusleitung SBS von hoch auf niedrig. Damit ändert sich der Zustand 1 auf den Zustand 2. Im Zustand 2 wird ein Prozess, der durch einen Befehl bezeichnet wird, der durch die Speicherkarte 40 empfangen wird, durchgeführt. In Wirklichkeit werden Daten einer Adresse, welche durch den Lesebefehl bezeichnet wird, vom Flash-Speicher 42 in den Seitenpuffer 45 gelesen. Während der Prozess durchgeführt wird, wird ein Betriebssignal (hoher Pegel) über die Datenleitung DIO zum Rekorder/Player 1 gesendet.
-
Im Zeitpunkt t33 wird, nachdem Daten vom Flash-Speicher 42 in den Seitenpuffer 45 gelesen wurden, das Zuführen des Betriebssignals gestoppt. Ein Fertigsignal (niedriger Pegel), welches zeigt, dass die Speicherkarte 40 bereit ist, Daten gemäß dem Lesebefehl zu senden, wird an den Rekorder/Player 1 ausgegeben.
-
Wenn der Rekorder/Player 1 das Fertigsignal von der Speicherkarte 40 empfängt, bestimmt der Rekorder/Player 1, dass die Speicherkarte 40 bereit ist, um den Lesebefehl zu verarbeiten. Im Zeitpunkt t34 bewirkt der Rekorder/Player 1, dass die Signalpegel der Statusleitung SBS hoch wird. Anders ausgedrückt ändert sich der Zustand 2 auf den Zustand 3.
-
Im Zustand 3 gibt die Speicherkarte 40 Daten aus, welche im Zustand 2 in den Seitenpuffer 45 zum Rekorder/Player 1 über die Datenleitung DIO ausgegeben wurden. Im Zeitpunkt T35 stoppt, nachdem die gelesenen Daten gesendet wurden, der Rekorder/Player 1 das Senden des Taktsignals über die Taktleitung SCK. Außerdem bewirkt der Rekorder/Player 1, dass der Signalpegel der Statusleitung SBS sich von hoch auf niedrig ändert. Damit ändert sich der Zustand 3 auf den Anfangszustand (Zustand 0).
-
Wenn ein Interrupt-Prozess durchgeführt werden sollte, beispielsweise aufgrund einer Zustandsänderung in der Speicherkarte 40 wie im Zeitpunkt t36, sendet die Speicherkarte 40 ein Interruptsignal zum Rekorder/Player 1 über die Datenleitung DIO. Wenn der Rekorder/Player 1 das Interruptsignal über die Datenleitung DIO von der Speicherkarte 40 im Zustand 0 empfängt, bestimmt der Rekorder/Player 1, dass das Signal ein Interruptsignal ist, und er führt einen Prozess entsprechend dem Interruptsignal durch.
-
15 ist ein Zeitablaufdiagramm eines Betriebs, bei dem Daten auf dem Flash-Speicher 42 der Speicherkarte 40 im Anfangszustand (Zustand 0) geschrieben werden, das Taktsignal nicht über die Taktleitung SCK gesendet wird. Im Zeitpunkt t41 bewirkt der Rekorder/Player 1, dass der Signalpegel der Statusleitung SBS sich von niedrig auf hoch ändert. Damit ändert sich der Zustand 0 auf den Zustand 1. Im Zustand 1 ist die Speicherkarte 40 bereit, einen Befehl zu empfangen. Im Zeitpunkt t41 wird ein Schreibbefehl über die Datenleitung DIO zur Speicherkarte 40 gesendet, und die Speicherkarte 40 empfängt den Schreibbefehl.
-
Im Zeitpunkt t42 bewirkt der Rekorder/Player 1, dass der Signalpegel der Statusleitung SBS sich von hoch auf niedrig ändert. Damit ändert sich der Zustand 1 auf den Zustand 2. Im Zustand 2 sendet der Rekorder/Player 1 Schreibdaten über die Datenleitung DIO zur Speicherkarte 40, und Speicherkarte 40 speichert die empfangenen Schreibdaten im Seitenpuffer 45.
-
Im Zeitpunkt t43 bewirkt der Rekorder/Player 1, dass sich der Signalpegel der Statusleitung SBS von niedrig auf hoch ändert. Damit ändert sich der Zustand 2 auf den Zustand 3. Im Zustand 3 schreibt die Speicherkarte 40 die Schreibdaten auf den Flash-Speicher 42, die Speicherkarte 40 sendet ein Betriebssignal (hoher Pegel) über die Datenleitung DIO zum Rekorder/Player 1, und der Rekorder/Player 1 sendet einen Schreibbefehl zur Speicherkarte 40. Da der aktuelle Zustand der Zustand 3 ist, bestimmt der Rekorder/Player 1, dass das Signal, welches von der Speicherkarte 40 empfangen wird, ein Statussignal ist.
-
Im Zeitpunkt t44 stoppt die Speicherkarte 40 die Ausgabe des Betriebssignals und sendet ein Fertigsignal (niedriger Pegel) zum Rekorder/Player 1. Wenn der Rekorder/Player 1 das Fertigsignal empfängt, bestimmt der Rekorder/Player 1, dass der Schreibprozess entsprechend dem Schreibbefehl abgeschlossen ist, und stoppt das Senden des Taktsignals. Zusätzlich bewirkt im Zeitpunkt t45 der Rekorder/Player 1, dass der Signalpegel der Statusleitung SBS sich von hoch auf niedrig ändert. Damit kehrt der Zustand 3 zum Zustand 0 zurück (Anfangszustand).
-
Wenn der Rekorder/Player 1 ein Hochpegelsignal von der Speicherkarte 40 über die Datenleitung DIO im Zustand 0 empfängt, bestimmt der Rekorder/Player 1, dass das empfangene Signal ein Interruptsignal ist. Der Rekorder/Player 1 führt einen Prozess entsprechend dem empfangenen Interruptsignal durch. Wenn die Speicherkarte 40 vom Rekorder/Player 1 gelöst werden soll, erzeugt die Speicherkarte 40 das Interruptsignal.
-
In einem anderen als beim Leseprozess und Schreibprozess wird im Zustand 1 ein Befehl gesendet. Im Zustand 2 werden Daten entsprechend dem Befehl gesendet.
-
Es sei angemerkt, dass die serielle Schnittstelle, welche zwischen dem Rekorder/Player 1 und der Rekorder/Player 1 Speicherkarte 40 angeordnet ist, nicht auf die oben beschriebene Schnittstelle 11 beschränkt ist. Anders ausgedrückt können verschiedene Arten serieller Schnittstellen verwendet werden.
-
16 ist eine Tabelle, welche Beispiele von Protokollbefehlen (TPC-Codes) zeigt, welche über die Datenleitung DIO der seriellen Schnittstelle gesendet werden. Die Datenlänge jedes Protokollbefehls beträgt ein Byte. In 16 wird jeder Protokollbefehl in hexadezimaler Schreibweise (mit dem Suffix h) und der dezimalen Schreibweise (0 und 1) dargestellt. Außerdem sind Definitionen individueller Protokollbefehle für sowohl die Nichtsicherheits-Speicherkarte 40' (siehe 3) als auch die Sicherheitsspeicherkarte 40 (siehe 2) dargestellt. In 16 zeigen R und W einen Leseprotokollbefehl bzw. einen Schreibprotokollbefehl. Wie oben beschrieben sind, da ein Befehl im Zustand 1 gesendet wird und Daten im Zustand 2 gesendet werden, die Datenlänge (in Bytes) entsprechend jedem Protokollbefehl gezeigt.
-
In diesem Zeitpunkt wird jeder der Protokollbefehle TPC beschrieben.
-
TPC = 2Dh ist ein Zugriffsbefehl auf einen herkömmlichen Flash-Speicher (dieser Befehl wird einfach als Speichersteuerbefehl bezeichnet). Dieser Befehl ist ein Seitendaten-Lesebefehl, und er ist den Speicherkarten 40 und 40' gemeinsam. Die Länge von Daten, welche dem Befehl vorhergehen, ist die Datenlänge für eine Seite (512 Bytes + 2 Bytes (CRC)). Die Seitendaten werden vom Seitenpuffer 45 gelesen.
-
TPC = D2h ist ein Speichersteuerbefehl. Dieser Befehl ist ein Seitendaten-Schreibbefehl. Die Länge von Daten, welche dem Befehl vorhergehen, ist die Datenlänge für eine Seite (512 Bytes + 2 Bytes (CRC)). Die Seitendaten werden in den Seitenpuffer 45 geschrieben.
-
TPC = 4Bh ist ein Speichersteuerbefehl. Dieser Befehl ist ein Lesebefehl gegenüber dem Leseregister 48. Die Datenlänge von Daten, welche dem Befehl vorhergehen, beträgt (31 Bytes + 2 Bytes (CRC)).
-
TPC = B4h ist ein Speichersteuerbefehl. Dieser Befehl ist ein Schreibbefehl gegenüber dem Schreibregister 46. Die Datenlänge der Daten, welche dem Befehl vorhergehen, beträgt (31 Bytes + 2 Bytes/CRC)).
-
TPC = 78h ist ein Speichersteuerbefehl. Dieser Befehl ist ein Befehl, um ein Bytes von dem Leseregister 48 zu lesen. Die Datenlänge der Daten, welche dem Befehl vorhergehen, beträgt (1 Byte + 2 Bytes (CRC)).
-
TPC = 87h ist ein Speichersteuerbefehl. Dieser Befehl ist ein Befehl, um den Zugriffsbereich des Befehlsregisters 44 zu variieren. Die Datenlänge von Daten, welche dem Befehl vorhergehen, beträgt (4 Bytes + 2 Bytes (CRC)).
-
TPC = 1Eh ist ein Datenlesebefehl für das Statusregister des Sicherheitsblocks 53 der Speicherkarte 40. Dieser Befehl ist jedoch nicht für die Speicherkarte 40' definiert. Die Datenlänge von Daten, welche dem Befehl vorhergehen, beträgt (2 Bytes + 2 Bytes (CRC)). Ein Befehl, der für den Sicherheitsblock 52 bestimmt ist, wird als Sicherheitsbefehl bezeichnet.
-
TPC = E1h ist ein Speichersteuerbefehl. Dieser Befehl ist ein Befehlssatzbefehl gegenüber dem Befehlsregister 44. Auf diesen Befehl folgt ein Befehl in einer niedrigeren hierarchischen Ebene als TPC-Befehle. Somit beträgt die Datenlänge dieses Befehls (1 Byte + 2 Bytes (CRC))).
-
TPC = 3Ch ist ein Sicherheitsdaten-Lesebefehl gegenüber dem Sicherheitsblock 52 der Speicherkarte 40. Dieser Befehl ist jedoch nicht für die Speicherkarte 40' definiert. Die Datenlänge von Daten, welche dem Befehl vorhergehen, beträgt (24 Bytes + 2 Bytes (CRC)).
-
TPC = C3h ist ein Sicherheitsdaten-Schreibbefehl gegenüber dem Sicherheitsblock 52 der Speicherkarte 40. Dieser Befehl jedoch ist für die Speicherkarte 40' nicht definiert. Die Datenlänge von Daten, welche dem Befehl vorhergehen, beträgt (26 Bytes + 2 Bytes (CRC)).
-
Mit Hilfe von 17 und 18 wird nun ein Befehl (1 Byte), dem TPC = E1h-Befehl folgt, beschrieben. 17 zeigt Befehle für die Nichtsicherheits-Speicherkarte 40'. Diese sind wie folgt:
E1h = AAh: Blocklesebefehl
E1h = 55h: Blockschreibbefehl
E1h = 33h: Blocklese-/Schreiblöschbefehl
E1h = 99h: Löschbefehl
E1h = CCh: Speicherbetrieb-Stoppbefehl
E1h = 5Ah: Spannungsversorgungs-Sicherungsmodusbefehl
E1h = C3h: Seitenpuffer-Löschbefehl
E1h = 3Ch: Speichersteuerungs-Rücksetzbefehl
-
18 zeigt Befehle für die Sicherheitsspeicherkarte 40. Da die Definitionen der Befehle (AAh bis 3Ch), die in 18 gezeigt sind, gleich denen sind, die in 17 gezeigt sind, werden diese weggelassen. Anders ausgedrückt sind diese Befehle Speichersteuerbefehle, welche gemeinsam mit den Speicherkarte 40 und 40' definiert sind. In 18 sind die Befehle (60h bis 83h) Sicherheitsbefehle, um einen Prozess (einschließlich eines Entschlüsselungsprozesses und eines Berechtigungsprozesses), der für die Speicherkarte 40 eigens bestimmt ist, zu verschlüsseln.
-
Wie in 17 und 18 gezeigt ist, sind Speichersteuerungsbefehle TPC genau wie die Speicherkarten 40 und 40' und Sicherheitsbefehle TPC, welche eigens für die Speicherkarte 40 bestimmt sind, definiert. In gleicher Weise wendet diese Beziehung Befehle in unteren hierarchischen Ebenen an. Anders ausgedrückt sind in den unteren hierarchischen Ebenen gemeinsame Speichersteuerbefehle und Sicherheitsbefehle definiert. Die Sicherheitsbefehle sind nicht definiert (nicht verwendet) für die Speicherkarte 40'. Gemäß der gezeigten Ausführungsform bestimmt, wenn der S/P- und P/S-IF-Block 43 einen Befehl vom Rekorder/Player 1 über die serielle Schnittstelle empfängt, die Speicherkarte 40, ob der empfangene Befehl TPC ein gemeinsamer Speichersteuerbefehl oder ein Sicherheitsbefehl ist oder nicht. Die Speicherkarte 40 sendet nachfolgende Daten zu einer geeigneten Schaltung entsprechend dem bestimmten Ereignis. Wenn der empfangene Befehl beispielsweise der TPC = E1h-Befehl ist, dem ein Befehl mit einem anderen Befehl folgt, sendet die Speicherkarte 40 den Befehl zu einer passenden Schaltung, welche den Definitionen für die Befehle, welche in 18 gezeigt ist, entspricht.
-
19 zeigt eine Anordnung zum Auswählen einer Schaltung, für welche Daten in Korrespondenz mit einem empfangenen Befehl bestimmt sind. Die Anordnung wird innerhalb der Schnittstellenschaltung 43 der Speicherkarte 40 ausgeführt. Die Daten werden von dem Rekorder 1 zur Speicherkarte 40 über die Datenleitung DIO gesendet. Die empfangenen Daten werden zu einem Anschluss ”a” der Schaltschaltung 152 über eine Verzögerungsschaltung 150 geliefert. Zusätzlich werden die empfangenen Daten zu einem Eingangsanschluss einer Erfassungsschaltung 151 geliefert. Die Erfassungsschaltung 151 bestimmt, ob ein Protokollbefehl (TPC), der über die Datenleitung DIOP empfangen wird, ein Speichersteuerbefehl oder ein Sicherheitsbefehl ist oder nicht, gemäß dem Codewert des Protokollbefehls. Die Schaltschaltung 152 wird gemäß dem bestimmten Ergebnis gesteuert. Die Verzögerungsschaltung 150 kompensiert die Erfassungszeit der Erfassungsschaltung 151. Diese Strukturelemente werden durch Hardware und/oder Software im S/P- und P/S-IF-Block 43 erreicht. Gemäß der Ausführungsform kann, da Codes, welche für die Speichersteuerbefehle nicht verwendet werden, Sicherheitsbefehlen zugeordnet werden, kann die Erfassungsschaltung diese beiden Befehle leicht bestimmen.
-
Wenn die Erfassungsschaltung 151 bestimmt hat, dass der empfangene Protokollbefehl ein Speichersteuerbefehl ist, wird der Anschluss ”a” der Schaltschaltung 151 mit einem Anschluss ”b” verbunden. Damit wird der Speichersteuerbefehl zu einem Seitenpuffer geliefert (beispielsweise der Seitenpuffer 45, der in 2 gezeigt ist, jedoch aus Deutlichkeitsgründen in 19 weggelassen ist), zu einem Register (beispielsweise Register 45 oder 48, welches in 2 gezeigt ist), usw., über die Anschlüsse ”a” und ”b” der Schaltschaltung 151, um damit den Flash-Speicher 42 zu steuern. Daten, welche auf den Speichersteuerbefehl folgen, werden zum Seitenpuffer, zum Register usw. geliefert. Alternativ werden Daten vom Seitenpuffer, dem Register usw. über die Anschlüsse ”b” und ”a” der Schaltschaltung 151 zum Rekorder 1 gesendet.
-
Wenn die Erfassungsschaltung 151 bestimmt hat, dass der empfangene Protokollbefehl ein Sicherheitsbefehl ist, wird der Anschluss ”a” der Schaltschaltung 151 mit dessen Anschluss ”c” verbunden. Der Sicherheitsbefehl wird über die Anschlüsse ”a” und ”c” der Schaltschaltung 151 zum Sicherheitsblock 52 geliefert. Daten, welche auf den Sicherheitsbefehl folgen, werden zum Sicherheitsblock 52 geliefert. Die Daten werden vom Sicherheitsblock 52 über die Anschlüsse ”a” und ”c” der Schaltschaltung 151 zum Rekorder 1 gesendet.
-
Wenn der empfangene Befehl der Protokollbefehl (TPC = E1h) ist, folgt auf diesen ein normaler Speichersteuerbefehl oder ein Sicherheitsbefehl. Wenn die Erfassungsschaltung 151 den TPC = E1h-Protokollbefehl empfängt, bestimmt die Erfassungsschaltung 151, ob auf den Befehl ein Steuerbefehl oder ein Sicherheitsbefehl folgt. Die Speicherkarte 40 steuert dann die Schaltschaltung 151 gemäß dem Bestimmungsergebnis. Wenn der empfangene Befehl vom Befehl TPC = E1h abweicht, und auf diesen ein Speichersteuerbefehl oder ein Sicherheitsbefehl folgt, kann die Speicherkarte 40 Daten zu einer passenden Schaltung senden, welche dem Codewert des Befehls entsprechen.
-
Da die Speicherkarte 40 eine Funktion hat, um zu bestimmen, ob der empfangene Befehl ein Speicherbefehl oder ein Sicherheitsbefehl ist, kann die Speicherkarte 40 für einen Nichtsicherheits-Rekorder verwendet werden. Anders ausgedrückt tauscht ein Nichtsicherheits-Rekorder keine Sicherheitsinformation mit der Speicherkarte 40 aus. Der Nichtsicherheits-Rekorder sendet lediglich Schreib-/Lese-Speichersteuerbefehle und Daten entsprechend dazu zur Speicherkarte 40. Wie oben beschrieben bestimmt die Speicherkarte 40, ob ein Befehl, der von einem Rekorder empfangen wird, ein Speichersteuerbefehl ist oder nicht, und schreibt oder liest Daten entsprechend dazu in den/von dem Flash-Speicher 42. Damit können die Daten in die Speicherkarte 40 geschrieben werden oder davon gelesen werden.
-
Gemäß der oben beschriebenen Ausführungsform wurde der DES als ein bevorzugtes Verschlüsselungsverfahren beschrieben. Es sei jedoch verstanden, dass verschiedene andere Verschlüsselungsverfahren alternativ verwendet werden können.
-
Außerdem soll verstanden sein, dass die nachfolgenden Ansprüche dazu dienen sollen, alle allgemeinen und spezifischen Merkmale der Erfindung, die hier beschrieben wurde, und alle Ausführungen des Rahmens der Erfindung abdecken sollen, welche sprachlich gesehen in diese fallen könnten, abzudecken.