-
HINTERGRUND
DER ERFINDUNG GEBIET DER ERFINDUNG
-
Die
vorliegende Erfindung betrifft ein Signalverarbeitungsverfahren
zum Entschlüsseln
von verschlüsselten
Inhalten wie etwa von Bilddaten, Tonodaten oder einem Computerprogramm
und insbesondere ein Signalverarbeitungsverfahren, das imstande ist,
die nichtautorisierte Verarbeitung von solchen verschlüsselten
Inhalten zu unterbinden.
-
BESCHREIBUNG
DES STANDS DER TECHNIK
-
Um
die nichtautorisierte Nutzung von Inhalten, die auf Informationsträgern wie
etwa einer CD (Compact Disc) und einer DVD (einer digitalen Video-CD)
aufgezeichnet sind, durch Dritte zu verhindern, werden die Inhalte
im allgemeinen auf jedem Informationsträger verschlüsselt aufgezeichnet.
-
Herkömmlich erfordert
das Entschlüsseln von
verschlüsselten
Inhalten zur Wiederherstellung der Originalinhalte (sogenannter
Klartextinhalte) und zur Wiedergabe der ursprünglichen Inhalte einen PC oder
dergleichen, der mit einer nur zur Wiedergabe bestimmten Platine
(nachstehend "Wiedergabeplatine") bestückt ist,
auf der eine anwendungsspezifische integrierte Schaltungseinrichtung
(nachstehend "anwendungsspezifische
IC") angebracht
ist, die für die
Entschlüsselung
von Inhalten ausgebildet ist. Diese anwendungsspezifische IC verhindert,
daß ein Dritter
auf die verschlüsselten
Inhalte unberechtigterweise Zugriff hat.
-
Eine
solche anwendungsspezifische IC enthält als Daten einen Entschlüsselungsschlüssel zum Entschlüsseln von
verschlüsselten
Inhalten und einen Entschlüsselungs-Algorithmus.
Da diese anwendungsspezifische IC physisch so in einem Gehäuse untergebracht
ist, daß sie
von außen
nicht sichtbar ist, kann eine nichtautorisierte Person (ein Angreifer) den
Entschlüsselungsschlüssel und
den Entschlüsselungs-Algorithmus
nicht beschaffen. Man geht davon aus, daß dieses Schema Schutz für die Inhalte bietet.
-
Mit
der zunehmenden Popularität
von PCs sind Entschlüsselungs-Schemata
entwickelt worden, damit verschlüsselte
Inhalte ohne die Verwendung der vorgenannten Wiedergabeplatine entschlüsselt werden
können,
indem einfach ein Informationswiedergabeprogramm abläuft. In
diesem Fall ist ein Wiedergabeprogramm, das die gleichen Funktionen
wie der Entschlüsselungsschlüssel und
der Entschlüsselungs-Algorithmus
in der vorgenannten anwendungsspezifischen IC hat, auf einem PC
installiert und wird aktiviert, um verschlüsselte Inhalte, die auf einem
Informationsaufzeichnungsträger
aufgezeichnet sind, zu entschlüsseln
und wiederzugeben.
-
Wie 1A zeigt,
hat der PC, der mit der vorgenannten Wiedergabeplatine bestückt ist,
folgendes: mindestens einen Mikroprozessor (eine CPU) 2,
eine Speicher-/Bus-Steuereinheit 3 für die Systemsteuerung, einen
Hauptspeicher (DRAM) 4, eine Wiedergabeplatine 5,
auf der eine anwendungsspezifische IC angebracht ist, einen Eingabe-/Ausgabe-
bzw. E/A-Port 6, der zum Anschluß an einen Informationsaufzeichnungs-Spieler 7 wie
etwa einen CD-Spieler oder einen DVD-Spieler bestimmt ist, wobei
alle diese Elemente auf einer elektrischen Schaltungsplatte 1 als
Hauptplatine angebracht sind. Der Hauptspeicher 4 ist mit
der Speicher-/Bus-Steuereinheit 3 über einen Bus verbunden, der
als Struktur auf der elektrischen Leiterplatte 1 vorgesehen
ist. Die Wiedergabeplatine 5 und der E/A-Port 6 sind
mit der Speicher-/Bus-Steuerung 3 über einen PCI-Bus und dergleichen
verbunden.
-
Wenn
die Wiedergabe von verschlüsselten Inhalten,
die in dem Informationsträger-Spieler 7 gespeichert
sind, gestartet wird, liest der Mikroprozessor 2 einen
Entschlüsselungsschlüssel und
einen Entschlüsselungs-Algorithmus
aus der anwendungsspezifischen IC aus und speichert sie in dem Hauptspeicher 4.
Dann entschlüsselt
der Mikroprozessor von dem Informationsträger-Pieler 7 gelieferte
verschlüsselte
Inhalte auf der Basis des Entschlüsselungsschlüssels und
des Entschlüsselungs-Algorithmus,
die in dem Hauptspeicher 4 gespeichert sind, und entpackt
die verschlüsselten
Inhalte, um Originalinhalte wiederzugeben.
-
Ein
unberechtigter Nutzer kann zwar den Entschlüsselungsschlüssel und
den Entschlüsselungs-Algorithmus,
die in der anwendungsspezifischen IC gespeichert sind, nicht direkt
beschaffen, aber dieser Entschlüsselungsschlüssel und
der Entschlüsselungs-Algorithmus
sind nicht vollständig
sicher. Beispielsweise werden dieser Entschlüsselungsschlüssel und
dieser Entschlüsselungs-Algorithmus
vor der Wiedergabe der verschlüsselten
Inhalte in den Hauptspeicher 4 übertragen, wo sie mit einem
einfachen Leseprogramm als Daten ausgelesen werden können.
-
Der
Hauptspeicher 4 ist für
externe Einheiten offen, und wenn auf dem Mikroprozessor 2 irgendein Programm
abläuft,
kann auf diesen Hauptspeicher 4 normaler Speicherzugriff
erfolgen. Daher kann ein unberechtigter Nutzer den Entschlüsselungsschlüssel und
den Entschlüsselungs-Algorithmus
ohne weiteres dadurch erhalten, daß er einfach ein vorhandenes
Leseprogramm oder ein nichtauthentisches Leseprogramm ausführt, um
Zugang zu dem Hauptspeicher 4 zu erhalten. Durch eine Auswertung
des Entschlüsselungsschlüssels und
des Entschlüsselungs-Algorithmus
kann der unberechtigte Nutzer auf illegitime Weise die verschlüsselten
Inhalte verarbeiten.
-
In
dem Fall, in dem verschlüsselte
Inhalte von einem PC reproduziert werden, der die vorgenannte Wiedergabeplatine
nicht hat oder die Wiedergabeplatine nicht verwendet, wird ein Informationswiedergabeprogramm
von dem Informationsträger-Spielel 7 zu
dem Hauptspeicher 4 übertragen, bevor
die Wiedergabe beginnt. Dann führt
der Mikroprozessor 2 einen Entschlüsselungsschlüssel und
einen Entschlüsselungs-Algorithmus
in dem im Hauptspeicher 4 gespeicherten Informationswiedergabeprogramm
sowie ein Entpackungsprogramm aus, um die von dem Informationsträger-Spieler 7 gelieferten verschlüsselten
Inhalte zu entschlüsseln
und zu entpacken. Infolgedessen werden die Originalinhalte wiedergegeben.
-
Auch
wenn eine software-basierte Wiedergabe von verschlüsselten
Inhalten von einem Informationswiedergabeprogramm ausgeführt wird,
kann also ein nichtautorisierter Benutzer den Entschlüsselungsschlüssel und
den Entschlüsselungs-Algorithmus,
die in dem Hauptspeicher 4 gespeichert sind, ohne weiteres
lesen und die verschlüsselten
Inhalte un erlaubt verarbeiten durch Auswerten des erhaltenen Entschlüsselungsschlüssels und
des Entschlüsselungs-Algorithmus.
-
ZUSAMMENFASSUNG
DER ERFINDUNG
-
Es
ist daher eine Aufgabe der vorliegenden Erfindung, ein Signalverarbeitungsverfahren
bereitzustellen, das imstande ist, die nichtautorisierte Verarbeitung
von verschlüsselten
Inhalten zu verhindern.
-
Aspekte
der vorliegenden Erfindung sind in den beigefügten Patentansprüchen definiert.
-
Bei
dieser Konstruktion sind die Speichereinrichtung, die Programmausführungseinrichtung
(oder der -schritt) und die Diskriminierungseinrichtung (oder der
-schritt) gegenüber
der Außenseite
verborgen. Wenn das spezielle Programm nicht in der Speichereinrichtung
gespeichert ist und ausgeführt
wird, können
verschlüsselte
Inhalte nicht zu ursprünglichen
Inhalten entschlüsselt
und wiedergegeben werden. Die Strukturen können daher ein Abhören des speziellen
Programms verhindern und dadurch die Inhalte schützen.
-
Es
wird bevorzugt, daß die
Diskriminierungseinrichtung eine Attributspeichereinrichtung zum Speichern
von Attributinformation des in der Speichereinrichtung zu speichernden
speziellen Programms hat und die in der Attributspeichereinrichtung
gespeicherte Attributinformation mit der Information vergleicht,
welche das Attribut des speziellen Programms bezeichnet, das von
der Programmausführungseinrichtung
zugeführt
wird, und den Zugriff auf die Speichereinrichtung verweigert, wenn
keine Übereinstimmung
besteht.
-
Im
Fall des Signalverarbeitungsverfahrens kann der Diskriminierungsschritt
Attributinformation des speziellen Programms, die in der Speichereinrichtung
zu speichern ist, speichern und die Attributinformation mit der
Information vergleichen, die das Attribut des in dem Programmausführungsschritt
erzeugten speziellen Programms bezeichnet, und einen Zugriff auf
die Speichereinrichtung verweigern, wenn keine Übereinstimmung besteht.
-
Gemäß den vorstehenden
Betriebsarten wird Zugriff auf die Speichereinrichtung nur gestattet, wenn
Attributinformation, die in dem Attributspeicher (-schritt) gespeichert
ist, mit der Information übereinstimmt,
die das Attribut des speziellen Programms bezeichnet, das von der
Programmausführungseinrichtung
zugeführt
wird (in dem Programmausführungsschritt
erzeugt wird). Das verhindert, daß sich ein nichtautorisierter
Benutzer das spezielle Programm aneignet.
-
Ein
Informationsaufzeichnungsmedium wird in der genannten Signalverarbeitungsvorrichtung oder
bei dem Signalverarbeitungsverfahren verwendet, auf dem das spezielle
Programm und ein Übertragungsprogramm
zum Übertragen
des speziellen Programms zu der Speichereinrichtung zur Speicherung
darin aufgezeichnet sind; und das spezielle Programm wird fragmentiert
aufgezeichnet, und das Übertragungsprogramm
stellt bei Ausführung
durch die Programmausführungseinrichtung
das fragmentierte spezielle Programm wieder her und speichert das
wiederhergestellte spezielle Programm in der Speichereinrichtung.
-
Bei
dem vorliegenden Informationsaufzeichnungsmedium wird ein spezielles
Programm in fragmentierter Form aufgezeichnet. Selbst wenn sich also
ein unberechtigter Anwender das fragmentierte spezielle Programm
beschafft, erschwert die Fragmentierung die Auswertung des speziellen
Programms, wodurch die verschlüsselten
Inhalte geschützt
werden. Ferner wird das fragmentierte spezielle Programm in einem
Speicherbereich wiederhergestellt und gespeichert, wenn die Signalverarbeitungsvorrichtung
(das -verfahren) das Übertragungsprogramm
ausführt.
Die verschlüsselten
Inhalte können
zu Originalinhalten entschlüsselt
werden, wenn die Signalverarbeitungsvorrichtung (das -verfahren) das
in dem Speicherbereich gespeicherte wiederhergestellte spezielle
Programm ausführt.
-
KURZE BESCHREIBUNG
DER ZEICHNUNGEN
-
1A u. 1B sind
schematische Ansichten zur Erläuterung
von Nachteilen herkömmlicher
PCs;
-
2 ist
ein Blockbild, das den Aufbau eines Datenprozessors gemäß einer
Ausführungsform
der vorliegenden Erfindung zeigt;
-
3 ist
ein Blockbild, das den Aufbau eines Speichers mit einer Zugriffsdiskriminier-/-begrenzungsschaltung
zeigt, die in dem Datenprozessor vorgesehen ist;
-
4 ist
ein Flußdiagramm,
das eine Operation des Speicherns von speziellen Programmen für die Wiedergabe
in dem Speicher mit der Zugriffsdiskriminier-/-begrenzungsschaltung
zeigt;
-
5 ist
ein Flußdiagramm,
das eine Operation zeigt, bei der ein nichtautorisiertes Auslesen
spezieller Programme aus dem Speicher mit der Zugriffsdiskriminier-/-begrenzungsschaltung
verhindert wird;
-
6 ist
ein Flußdiagramm,
das eine Operation zeigt, die ein nichtautorisiertes Lesen von speziellen
Daten aus dem Speicher mit der Zugriffsdiskriminier-/-begrenzungsschaltung
zeigt;
-
7 ist
ein Flußdiagramm,
das eine Operation zeigt, die das nichtautorisierte Einschreiben
von Daten in den Speicher mit der Zugriffsdiskriminier/-begrenzungsschaltung
zeigt;
-
8 ist
ein Blockbild, das die Struktur eines Mikroprozessors in einem Fall
zeigt, in dem die Erfindung für
einen üblichen
Mikroprozessor ausgebildet ist; und
-
9 ist
ein Blockbild, das die Struktur einer internen Zwischenspeichereinheit
in einem Fall zeigt, in dem die Erfindung für einen üblichen Mikroprozessor ausgebildet
ist.
-
GENAUE BESCHREIBUNG
DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
-
Bevorzugte
Ausführungsformen
der vorliegenden Erfindung werden nachstehend unter Bezugnahme auf
die beigefügten
Zeichnungen beschrieben.
-
2 ist
ein Blockbild, das die Struktur einer Signalverarbeitungsvorrichtung
gemäß einer
Ausführungsform
der vorliegenden Erfindung zeigt, und 3 ist ein
Blockbild, das die Struktur eines Speichers mit einer Zugriffsdiskriminier-/-begrenzungsschaltung
zeigt, der in die Signalverarbeitungsvorrichtung eingebaut ist.
-
Gemäß 2 ist
die Signalverarbeitungsvorrichtung (nachstehend "Datenprozessor") 8 eine integrierte Schaltungsvorrichtung,
die verschlüsselte Inhalte
wie etwa verschlüsselte
Bilddaten, Tondaten, Textdaten oder Programme entschlüsseln kann.
Der Datenprozessor 8 hat eine sogenannte integrierte Architektur
und ist mittels Halbleitertechnologie integral auf ein und demselben
Chip ausgebildet. Da der Chip durch ein Harzgehäuse oder dergleichen versiegelt ist,
ist der Datenprozessor 8 von außen nicht zu sehen.
-
Der
Datenprozessor 8 weist als Hauptschaltkreise folgende auf:
eine Ausführungseinheit 9,
eine Lade-/Speichereinheit 10, eine Ablaufsteuerung 11 und
den Speicher 15 auf. Mit dem internen Speicherbus BUS2
sind die Lade-/Speichereinheit 10, die Ablaufsteuerung 11,
die Datenzwischenspeichereinheit 12, die Befehlszwischenspeichereinheit 13 und
der Speicher 15 verbunden. Die Datenzwischenspeichereinheit 12 und
die Befehlszwischenspeichereinheit 13 sind mit der externen
Busschnittstelleneinheit 14 über den Datenübertragungsbus
BUS3 verbunden. Der Datenübertragungsbus
BUS4, der mit der externen Busschnittstelleneinheit 14 verbunden
ist, ist mit einem externen Bus BUS5 verbunden, der auf einer noch
zu erläuternden
elektrischen Schaltungsplatte bzw. Platine 16 ausgebildet
ist.
-
Die
Ausführungseinheit 9 wie
etwa ein sogenannter Mikroprozessor (CPU) hat Funktionsschaltungen
wie etwa einen Befehlssteuerteil und einen Rechenoperationssteuerteil,
die ein Computerprogramm ausführen.
Da die Funktionen der Ausführungseinheit 9 gleich
denen eines sogenannten Mikroprozessors (CPU) sind, der in zahlreichen
Dokumenten angegeben ist, werden sie nachstehend nicht im einzelnen
beschrieben. Der Befehlssteuerteil führt die allgemeine Steuerung
des Datenprozessors 8 durch Abrufen und ecodieren eines
Befehls und Erzeugen einer Operandenadresse dieses Befehls aus. Der
Rechenoperationssteuerteil steuert Rechenoperationen wie Addition,
Subtraktion, Multi plikation und Division, Logikoperationen und dergleichen
entsprechend dem von dem Befehlssteuerteil decodierten Befehl.
-
Die
Lade-/Speichereinheit 10, die Ablaufsteuerung 11,
die Datenzwischenspeichereinheit 12, die Befehlszwischenspeichereinheit 13,
die externe Busschnittstelleneinheit 14 und der Speicher 15 mit der
Zugangsdiskriminierungs-/-begrenzungsschaltung bilden einen Speichersteuerteil
vom RISC-Typ, der die Übertragung
eines von der Ausführungseinheit 9 auszuführenden
Befehls oder die Datenübertragung
steuert. Außerdem
steuert dieser Speichersteuerteil die Umwandlung einer Operandenadresse oder
dergleichen, einer logischen Adresse (virtuellen Adresse), die von
dem Befehlssteuerteil in der Ausführungseinheit 9 erzeugt
wird, in eine reale Adresse (physische Adresse). Der Speichersteuerteil
prüft ferner
ob ein Befehl oder eine Information in der Datenzwischenspeichereinheit 12,
der Befehlszwischenspeichereinheit 13 und dem Speicher 15 gespeichert ist.
Wenn dort ein Befehl oder eine Information gespeichert ist, liest
der Speichersteuerteil den Befehl oder die Information und sendet
den Befehl oder die Information an die Ausführungseinheit 9.
-
Wenn
in der Datenzwischenspeichereinheit 12, der Befehlszwischenspeichereinheit 13 und
der Speichereinheit 15 weder ein Befehl noch eine Information
gespeichert ist, greift der Speichersteuerteil auf den Hauptspeicher 17 über die
externe Busschnittstelleneinheit 14 zu und liest einen
Befehl oder eine Information aus dem Hauptspeicher 17 aus
und überträgt den Befehl
oder die Daten an den Speicher 15. Danach sendet der Speichersteuerteil
den Befehl oder die Daten an die Ausführungseinheit 9.
-
Nachstehend
wird die vorstehende Speichersteuerung im einzelnen erläutert. Die
Befehlszwischenspeichereinheit 13 hat einen Zwischenspeicherbereich
zum Speichern eines Teils eines Programms, das häufig ausgeführt wird und aus dem Hauptspeicher 17 gelesen
wurde. Dieser Zwischenspeicherbereich wird nachstehend als "Normalbefehls-Zwischenspeicherbereich" bezeichnet. Die
Datenzwischenspeichereinheit 12 hat einen Zwischenseicherbereich
zum Speichern von Daten, die wahrscheinlich genutzt werden und aus
dem Hauptspeicher 17 gelesen wurde. Dieser Zwischenspeicherbereich
wird nachstehend als "Normaldaten-Zwischenspeicherbereich" bezeichnet. Dieser
Normalbefehls- Zwischenspeicherbereich
und Normaldaten-Zwischenspeicherbereich sind von Speicherbauelementen
gebildet, die schneller als der Hauptspeicher 17 sind.
-
Es
ist zu beachten, daß die
Befehlszwischenspeichereinheit 13 und die Datenzwischenspeichereinheit 12 keine
speziellen Programme und Daten zum Entschlüsseln von verschlüsselten
Inhalten speichern. Diese speziellen Programme und Daten sind in
einem internen Zwischenspeicher 15a gespeichert, der in
dem Speicher 15 vorgesehen ist.
-
Der
Speicher 15 hat einen Zwischenspeicherbereich CS zum Speichern
eines Programms zum Entschlüsseln
von verschlüsselten
Inhalten, das aus dem Hauptspeicher 17 abgerufen worden
ist, und einen Zwischenspeicherbereich DS zum Speichern von Daten,
während
die Entschlüsselung
ausgeführt
wird. Der Zwischenspeicherbereich CS wird nachstehend als "Spezialbefehl-Zwischenspeicherbereich
CS" bezeichnet,
und der Zwischenspeicherbereich DS wird nachstehend als "Spezialdaten-Zwischenspeicherbereich
DS" bezeichnet. Dieser
Spezialbefehl-Zwischenspeicherbereich CS und dieser Spezialdaten-Zwischenspeicherbereich DS
sind aus Speicherelementen gebildet, die schneller als der Hauptspeicher 17 sind.
-
Zu
dem Zeitpunkt, zu dem die Ausführungseinheit 9 einen
Datenübertragungsbefehl
ausführt, greift
die Lade-/Speichereinheit 10 auf den Normaldaten-Zwischenspeicherbereich
oder den Spezialdaten-Zwischenspeicherbereich DS zu, um die Datenübertragung
auszuführen.
-
Die
Ablaufsteuerung 11 greift auf den vorgenannten Normalbefehl-Zwischenspeicherbereich oder
den Spezialbefehl-Zwischenspeicherbereich CS zu, der der realen
Adresse entspricht, und steuert die Ausführung eines Befehls.
-
Die
externe Busschnittstelleneinheit 14 steuert die Übertragung
eines Programms und von Daten zwischen dem Datenprozessor 8,
dem Hauptspeicher 17 und einem Informationsaufzeichnungsmediumspieler 19,
der mit einem Eingangs-/Ausgangs- bzw. E/A-Port 18 verbunden
ist.
-
Wie 3 zeigt,
weist der Speicher 15 mit der Zugriffsdiskriminier-/-begrenzungsschaltung
eine Speicherverwaltungseinheit 15a, eine Zugriffsdiskriminier-/-begrenzungsschaltungseinheit 15b,
den vorgenannten internen Zwischenspeicher 15c und einen Attributetikettspeicher 15d auf.
-
Die
Speicherverwaltungseinheit 15a wandelt eine über die
Lade-/Speichereinheit 10 zugeführte logische Adresse in eine
reale Adresse um und sendet die reale Adresse an die Zugriffsdiskriminier-/-begrenzungsschaltungseinheit 15b.
Der interne Zwischenspeicher 15c hat den vorher erwähnten Spezialbefehl-Zwischenspeicherbereich
CS und den Spezialdaten-Zwischenspeicherbereich DS. Etikettdaten zur
Identifizierung von Adressen sind in dem Attributetikettspeicher 15d gespeichert.
-
Bei
Empfang eines Zugriffssteuerbefehls von der Lade-/Speichereinheit 10 über den
internen Speicherbus BUS2 decodiert die Zugriffsdiskriminier-/-begrenzungsschaltungseinheit 15b vorbestimmte
Bits der realen Adresse von der Speicherverwaltungseinheit 15a und
greift auf den Attributetikettspeicher 15d auf der Basis
der decodierten Daten zu, um Etikettdaten TG aus dem Attributetikettspeicher 15d auszulesen.
-
Ferner
vergleicht die Zugriffsdiskriminier-/-begrenzungsschaltungseinheit 15b die
gelesenen Etikettdaten TG mit speziellen Attributdaten TD (die das
Attribut eines speziellen Programms bezeichnen), die über den
internen Bus BUS1 von der Ausführungseinheit 9 zugeführt werden.
Wenn diese Daten TG und TD miteinander übereinstimmen, überträgt die Zugriffsdiskriminier-/-begrenzungsschaltungseinheit 15b einen
Programmcode in dem Spezialbefehl-Zwischenspeicherbereich CS oder
Daten in dem Spezialdaten-Zwischenspeicherbereich DS, die den decodierten
Daten entsprechen, an die Ausführungseinheit 9 über die
Ablaufsteuerung 11 oder die Lade-/Speichereinheit 10.
Wenn die Daten TG und TD nicht miteinander übereinstimmen, überträgt die Zugriffsdiskriminier-/-begrenzungsschaltungseinheit 15b den
Programmcode in dem Spezialbefehl-Zwischenspeicherbereich CS oder
Daten in dem Spezialdaten-Zwischenspeicherbereich DS nicht an die
Ausführungseinheit 9.
Das heißt,
die Zugriffsdiskriminier-/-begrenzungsschaltungseinheit 15b erlaubt
die Übertragung
eines Programmcodes oder von Daten zwischen der Ausführungseinheit 9 und
dem internen Zwischenspeicher 15c nur dann, wenn die Etikettdaten
TG und die Spezialattributdaten TD miteinander übereinstimmen. Wenn die Etikettdaten
TG und die Spezialattributdaten TD nicht miteinander übereinstimmen,
unterbindet die Zugriffsdiskriminier-/-begrenzungsschaltungseinheit 15b die Übertragung
des Programmcodes und der Daten, so daß eine Anforderung für einen
Zugriff auf den internen Zwischenspeicher 15c abgewiesen wird.
-
Unter
Bezugnahme auf die Ablaufdiagramme der 4 bis 7 wird
nun die Operation des Datenprozessors 8 mit der oben beschriebenen Struktur
erläutert.
Dabei wird davon ausgegangen, daß ein Betriebssystem (OS),
das Spezialprogramme oder sogenannte Anwendungsprogramme wie etwa
einen Entschlüsselungsschlüssel und
einen Entschlüsselungs-Algorithmus ausführt, vorher
in dem Hauptspeicher 17 gespeichert wurde, und daß Inhalte
(verschlüsselte
Inhalte), die von dem Informationsaufzeichnungsmedium-Spieler 19 wie
etwa einem CD-Spieler oder einem DVD-Spieler wiedergegeben werden
sollen, unter Steuerung durch dieses Betriebssystem entschlüsselt und
wiedergegeben werden.
-
Zusätzlich zu
gepackten und verschlüsselten Inhalten
sind Spezialprogramme für
die Wiedergabe in einem Informationsaufzeichnungsmedium wie etwa
einer CD oder DVD gespeichert, die von dem Informationsaufzeichnungsmedium-Spieler 19 abgespielt
werden. Die Spezialprogramme umfassen einen Entschlüsselungsschlüssel und
einen Entschlüsselungs-Algorithmus
zum Entschlüsseln
von verschlüsselten
Inhalten, ein Entpackprogramm zum Entpacken von entschlüsselten
Inhalten nach Bedarf, und ein Ladeprogramm zum Laden der gepackten und
verschlüsselten
Inhalte, des Entschlüsselungsschlüssels und
des Entschlüsselungs-Algorithmus und
des Entpackprogramms in den Datenprozessor 8.
-
Von
den Spezialprogrammen sind mindestens der Entschlüsselungsschlüssel und
der Entschlüsselungs-Algorithmus
in fragmentierter Form und Zufallsform gemeinsam mit einem Dummyprogramm
aufgezeichnet, das nichts zu einem Wiedergabevorgang beiträgt, so daß der Entschlüsselungsschlüssel und
der Entschlüsselungs-Algorithmus schwer
auszuwerten sind.
-
Wenn
gemäß 4 ein
Anwender den Befehl zur Vorbereitung eines Wiedergabevorgangs für die Wiedergabe
von gepackten und verschlüsselten Inhalten
gibt, aktiviert die Ausführungseinheit 9 den Informationsaufzeichnungsmedium-Spieler 19 zur Übertragung der
in dem Informationsaufzeichnungsmedium aufgezeichneten Spezialprogramme
in den Hauptspeicher 17 (Schritt 100). Es ist
zu beachten, daß der
Entschlüsselungsschlüssel und
der Entschlüsselungs-Algorithmus
in fragmentierter Form in dem Hauptspeicher 17 gespeichert
sind. Auch wenn dieser fragmentierte Entschlüsselungsschlüssel und Entschlüsselungs-Algorithmus
aus dem Hauptspeicher 17 gelesen werden, ist es somit äußerst schwierig,
den ursprünglichen
Entschlüsselungsschlüssel und
Entschlüsselungs-Algorithmus wiederherzustellen.
-
Dann
führt die
Ausführungseinheit 9 das
Laderprogramm, eines der Spezialprogramme, die in dem Hauptspeicher 17 gespeichert
sind, aus, um den Entschlüsselungsschlüssel und
den Entschlüsselungs-Algorithmus
und das Entpackprogramm in dem internen Zwischenspeicher 15c in
der Zugriffsdiskriminier-/-begrenzungsschaltungseinheit 15b zu
speichern (Schritte 102, 104 und 106).
-
Wenn
es sich um die erste Zugriffssteuerung auf die Zugriffsdiskriminier-/-begrenzungsschaltungseinheit 15b durch
die Ausführungseinheit 9 handelt,
setzt die Zugriffsdiskriminier-/-begrenzungsschaltungseinheit 15b den
internen Zwischenspeicher 15c in einen Spezialmodus und
löscht
den Spezialbefehl-Zwischenspeicherbereich CS und den Spezialdaten-Zwischenspeicherbereich
DS (Schritt 102).
-
Nachdem
der Löschvorgang
des Speichers abgeschlossen ist, überträgt die Ausführungseinheit 9 den
Entschlüsselungsschlüssel und
den Entschlüsselungs-Algorithmus
und das Entpackprogramm zu dem Spezialbefehl-Zwischenspeicherbereich
CS und dem Spezialdaten-Zwischenspeicherbereich DS (Schritt 104)
und führt
vor dem Speichern eine Zugriffsprüfung aus (Schritt 106).
Das Laderprogramm hat Zwischenspeicherinitialisierungs-Befehlscodes zum
Entschlüsseln
des fragmentierten Entschlüsselungsschlüssels und
des Entschlüsselungs-Algorithmus
in einen kontinuierlichen Entschlüsselungsschlüssel und
Entschlüsselungs-Algorithmus.
Dieses Laderprogramm lädt
den wiederhergestellten Entschlüsselungsschlüssel und
Entschlüsselungs-Algorithmus
und das Entpackprogramm in den Spezialbefehl-Zwischenspeicherbereich
CS und den Spezialdaten-Zwischenspeicherbereich DS und speichert die
Etikettinformation TG in dem Attributetikettspeicher 15d in
Verbindung mit einzelnen Indexadressen des Spezialbefehl-Zwischenspeicherbereichs
CS und des Spezialdaten-Zwischenspeicherbereichs DS (Schritte 104 und 106).
Wenn der Entschlüsselungsschlüssel und
der Entschlüsselungs-Algorithmus
und das Entpackprogramm ordnungsgemäß gespeichert sind, ist die
Vorbereitung zur Wiedergabe der verschlüsselten Inhalte vollständig. Wenn
in Schritt 106 ein Zugriffsfehlerauftritt, werden der Entschlüsselungsschlüssel und
der Entschlüsselungs-Algorithmus
und das Entpackprogramm nicht gespeichert, und die Ausführungseinheit 9 führt eine
Interrupt-Routine aus, um eine Fehlerprüfung auszuführen.
-
Wenn
der Anwender einen Befehl zum Starten der Wiedergabe gibt, nachdem
der Entschlüsselungsschlüssel und
der Entschlüsselungs-Algorithmus
und das Entpackprogramm wiederhergestellt und in dem internen Zwischenspeicher 15c gespeichert
worden sind, führt
die Ausführungseinheit 9 den Entschlüsselungsschlüssel und
den Entschlüsselungs-Algorithmus und das
Entpackprogramm aus, die in dem Spezialbefehl-Zwischenspeicherbereich CS
und dem Spezialdaten-Zwischenspeicherbereich DS gespeichert sind,
um die von dem Informationsaufzeichnungsmedium-Spieler 19 gelieferten
verschlüsselten
Inhalte zu entschlüsseln
und zu entpacken, so daß Originalinhalte
(sogenannter Klartext) erhalten werden. Die Ausführungseinheit 9 überträgt dann
die Originalinhalte zu dem Hauptspeicher 17. Da die in
dem Hauptspeicher 17 gespeicherten Inhalte über den
externen Bus BUS4 zu einem Display und/oder einem Tonsystem (keines
davon ist gezeigt) übertragen
werden, wird eine Bildwiedergabe und Tonwiedergabe und/oder Tonwiedergabe
ausgeführt.
-
Zu
dem Zeitpunkt, zu dem die Ausführungseinheit 9 den
Entschlüsselungsschlüssel und
den Entschlüsselungs-Algorithmus
und das Entpackprogramm ausführt,
die in dem Spezialbefehl-Zwischenspeicherbereich CS und dem Spezialdaten-Zwischenspeicherbereich
DS gespeichert sind, wird das Lesen der Programmcodes entsprechend
dem Ablaufdiagramm von 5 ausgeführt, das Lesen von Daten wird
entsprechend dem Ablaufdiagramm von 6 ausgeführt, und
das Schreiben von Daten wird gemäß dem Ablaufdiagramm
von 7 ausgeführt.
-
Lesen des
Programmcodes
-
Wenn
in 5 die Ausführungseinheit 9 auf die
Zugriffsdiskriminier-/-begrenzungsschaltungseinheit 15b zugreift,
um einen Programmcode (Operationscode) zu lesen (Schritt 200),
wandelt die Speicherverwaltungseinheit 15a eine logische
Adresse in eine reale Adresse um (Schritt 202). Die Zugriffsdiskriminier-/-begrenzungsschaltungseinheit 15b prüft die reale
Adresse, um zu bestimmen, ob der Zugriff auf den internen Zwischenspeicher 15e gerichtet
ist (Schritte 204 und 206).
-
Wenn
in Schritt 204 der Zugriff nicht auf den internen Zwischenspeicher 15c oder
den Normalbefehl-Zwischenspeicherbereich gerichtet ist, geht die Ausführungseinheit 9 weiter
zu Schritt 208, um einen Programmcode aus dem Hauptspeicher 17 zu
lesen, und speichert ihn in dem internen Zwischenspeicher 15e oder
dem Normalbefehl-Zwischenspeicherbereich. Wenn der Programmcode
in dem internen Zwischenspeicher 15c gespeichert ist, liest
die Ausführungseinheit 9 den
gespeicherten Programmcode in Schritt 212 aus, wodurch
das Lesen des Programmcodes abgeschlossen ist.
-
Wenn
dagegen in Schritt 206 bestimmt wird, daß der Zugriff
auf den Normalbefehl-Zwischenspeicherbereich
gerichtet ist, geht die Ausführungseinheit 9 zu
Schritt 212, um einen Programmcode aus dem Normalbefehl-Zwischenspeicherbereich auszulesen
und damit das Lesen des Programmcodes zu vervollständigen.
-
Wenn
in Schritt 206 bestimmt wird, daß der Zugriff auf den internen
Zwischenspeicher 15c gerichtet ist, geht die Ausführungseinheit 9 zu
Schritt 210, in dem die Zugriffsdiskriminier-/-begrenzungsschaltungseinheit 15b Spezialattributdaten
TD, die von der Ausführungseinheit 9 gleichzeitig
mit dem Stellen der Zugangsanfrage geliefert wurden, mit den Etikettdaten
TG in dem Attributetikettspeicher 15d vergleicht. Wenn
diese Daten TD und TG miteinander übereinstimmen, geht der Ablauf
zu Schritt 212, in dem ein Programmcode aus dem Spezialbefehl-Zwischenspeicherbereich
CS in dem internen Zwischenspeicher 15e ausgelesen und
zu der Ausführungseinheit 9 übertragen
wird. Das vervollständigt
das Auslesen des Programmcodes. Während die Ausführungseinheit 9 den übertragenen
Programmcode ausführt,
werden die verschlüsselten
Inhalte auf der Basis des Entschlüsselungsschlüssels und
des Entschlüsselungs-Algorithmus
entschlüsselt.
-
Wenn
die Daten TD und TG in Schritt 210 nicht miteinander übereinstimmen,
führt die
Ausführungseinheit 9 eine
Interrupt-Routine aus, um eine Fehlerprüfung durchzuführen.
-
Kurz
gesagt, prüft
zum Zeitpunkt eines Zugriffs zum Auslesen eines Programmcodes die
Zugriffsdiskriminier-/-begrenzungsschaltungseinheit 15b,
ob die Spezialattributdaten TD mit den Etikettdaten TG in dem Attributetikettspeicher 15d übereinstimmen,
verweigert den Zugriff zu dem internen Zwischenspeicher 15c,
wenn keine Übereinstimmung vorliegt,
und gewährt
Zugriff zu dem internen Zwischenspeicher 15c nur dann,
wenn eine Übereinstimmung
vorliegt. Dies kann einen unzulässigen Speicherzugriff
unterbinden.
-
Auslesen von
Daten
-
Wenn
in 6 die Ausführungseinheit 9 auf die
Zugriffsdiskriminier-/-begrenzungsschaltungseinheit 15b zugreift,
um Daten auszulesen (Schritt 300), wandelt die Speicherverwaltungseinheit 15a eine
logische Adresse in eine reale Adresse um (Schritt 302).
Die Zugriffsdiskriminier-/-begrenzungsschaltungseinheit 15b prüft die reale
Adresse, um zu bestimmen, ob der Zugriff auf den internen Zwischenspeicher 15c gerichtet
ist (Schritte 304 und 306).
-
Wenn
der Zugriff nicht auf den internen Zwischenspeicher 15c oder
den Noxmaldaten-Zwischenspeicherbereich
in Schritt 304 gerichtet ist, geht die Ausführungseinheit 9 zu
Schritt 308, um Daten aus dem Hauptspeicher 17 auszulesen,
und speichert sie in dem internen Zwischenspeicher 15c oder dem
Normaldaten-Zwischenspeicherbereich. Wenn die Daten in dem internen
Zwischenspeicher 15c gespeichert sind, liest die Ausführungseinheit 9 in Schritt 312 die
gespeicherten Daten aus, wodurch das Auslesen der Daten vollständig ist.
-
Wenn
dagegen in Schritt 306 bestimmt wird, daß der Zugriff
auf den Normaldaten-Zwischenspeicherbereich
gerichtet ist, geht die Ausführungseinheit 9 zu
Schritt 312, um Daten aus dem Normaldaten-Zwischenspeicherbereich
auszulesen, wodurch das Auslesen der Daten vollständig ist.
-
Wenn
in Schritt 306 bestimmt wird, daß der Zugriff auf den internen
Zwischenspeicher 15c gerichtet ist, geht die Ausführungseinheit 9 zu
Schritt 310, in dem die Zugriffsdiskriminier-/-begrenzungsschaltungseinheit 15b Spezialattributdaten
TD, die von der Ausführungseinheit 9 gleichzeitig
mit der Abgabe der Zugriffsanforderung geliefert wurden, mit den
Etikettdaten TG in dem Attributetikettspeicher 15d vergleicht.
Wenn diese Daten TD und TG miteinander übereinstimmen, geht der Ablauf
zu Schritt 312, in dem Daten aus dem Spezialdaten-Zwischenspeicherbereich
DS in dem internen Zwischenspeicher 15c ausgelesen und
zu der Ausführungseinheit 9 übertragen
werden. Das vervollständigt
das Lesen der Daten. Während
die Ausführungseinheit 9 die übertragenen
Daten verarbeitet, werden die verschlüsselten Inhalte auf der Basis
des Entschlüsselungsschlüssels und
des Entschlüsselungs-Algorithmus
entschlüsselt.
-
Wenn
die Daten TD und TG in Schritt 310 nicht miteinander übereinstimmen,
führt die
Ausführungseinheit 9 eine
Interrupt-Routine zur Durchführung
einer Fehlerprüfung
aus.
-
Wie
aus dem Vorstehenden ersichtlich ist, prüft zum Zeitpunkt eines Zugriffs
zum Lesen von Daten die Zugriffsdiskriminier-/-begrenzungsschaltungseinheit 15b,
ob die Spezialattributdaten TD mit den Etikettdaten TG in dem Attributetikett-Speicher 15d übereinstimmen,
verwehrt einen Zugriff auf den internen Zwischenspeicher 15c,
wenn keine Übereinstimmung
vorliegt, und gewährt
einen Zugriff auf den internen Zwischenspeicher 15c nur
dann, wenn Übereinstimmung
vorliegt. Dies kann einen unzulässigen
Speicherzugriff unterbinden.
-
Einschreiben
von Daten
-
Wenn
gemäß 7 die
Ausführungseinheit 9 auf
die Zugriffsdiskriminier-/-begrenzungsschaltungseinheit 15b zugreift,
um Daten einzuschreiben (Schritt 400), wandelt die Speicherverwaltungseinheit 15a eine
logische Adresse in eine reale Adresse um (Schritt 402).
Die Zugriffsdiskriminier-/-begrenzungsschaltungseinheit 15b prüft die reale
Adresse, um zu bestimmen, ob der Zugriff auf den internen Zwischenspeicher 15c gerichtet
ist (Schritte 404 und 406).
-
Wenn
der Zugriff in Schritt 404 nicht auf den internen Zwischenspeicher 15c oder
den Normaldaten-Zwischenspeicherbereich gerichtet ist, geht die Ausführungseinheit 9 zu
Schritt 408, um Daten in dem Hauptspeicher 17 zu
speichern. Dadurch wird das Einschreiben von Daten abgeschlossen.
-
Wenn
dagegen in Schritt 406 bestimmt wird, daß der Zugriff
auf den Normaldaten-Zwischenspeicherbereich
gerichtet ist, geht die Ausführungseinheit 9 zu
Schritt 412, um Daten in den Normaldaten-Zwischenspeicherbereich
einzuschreiben, wonach das Einschreiben von Daten abgeschlossen
ist.
-
Wenn
in Schritt 406 bestimmt wird, daß der Zugriff auf den internen
Zwischenspeicher 15c gerichtet ist, geht die Ausführungseinheit 9 zu
Schritt 410, in dem die Zugriffsdiskriminier-/-begrenzungsschaltungseinheit 15b Spezialattributdaten
TD, die gleichzeitig mit der Abgabe der Zugriffsanforderung von
der Ausführungseinheit 9 geliefert
wurden, mit den Etikettdaten TG in dem Attributetikettspeicher 15d vergleicht.
Wenn diese Daten TD und TG miteinander übereinstimmen, geht der Ablauf
zu Schritt 412, in dem Daten in den Spezialdaten-Zwischenspeicherbereich
DS in dem internen Zwischenspeicher 15a eingeschrieben
werden. Damit ist das Einschreiben von Daten abgeschlossen.
-
Wenn
in Schritt 410 die Daten TD und TG nicht miteinander übereinstimmen,
führt die
Ausführungseinheit 9 eine
Interrupt-Routine zur Fehlerprüfung
aus.
-
Kurz
gesagt, prüft
zum Zeitpunkt des Zugriffs zum Einschreiben von Daten die Zugriffsdiskriminier-/-begrenzungsschaltungseinheit 15b,
ob die Spezialattributdaten TD mit den Etikettdaten TG in dem Attributetikettspeicher 15d übereinstimmen,
wodurch bestimmt wird, ob auf Daten des Entschlüsselungsschlüssels und
des Entschlüsselungs-Algorithmus zulässigerweise
Zugriff erfolgt ist. Dadurch kann ein unzulässiger Speicherzugriff unterbunden
werden.
-
Wie
aus dem Vorstehenden ersichtlich ist, bietet der Datenprozessor 8 gemäß der vorliegenden Ausführungsform
die nachstehenden Vorteile.
-
(1)
Spezialprogramme wie etwa ein Entschlüsselungsschlüssel und
ein Entschlüsselungs-Algorithmus sind
in dem Speicher 15 mit der Zugriffsdiskriminier-/-begrenzungsschaltung
gespeichert, und verschlüsselte
Inhalte werden nur dann zu Originalinhalten entschlüsselt, wenn
diese in dem Speicher 15 befindlichen Spezialprogramme
ausgeführt
werden. Dies kann verhindern, daß Spezialprogramme wie etwa
ein Entschlüsselungsschlüssel und ein
Entschlüsselungs-Algorithmus
von einem Angreifer unzulässigerweise beschafft
werden, so daß der Schutz
von Inhalten gegen einen aktiven Angriff (Abhören und Verfälschen von
Programmcodes und Daten) gewährleistet
wird.
-
Die
Spezialprogramme, die in dem Speicher 15 mit der Zugriffsdiskriminier-/-begrenzungsschaltungseinheit
gespeichert sind, werden nur innerhalb des Datenprozessors 8 ausgeführt, der
gegenüber der
Außenseite
verborgen ist, und verschlüsselte
Inhalte werden entschlüsselt
und wiedergegeben. Ein autorisierter Anwender und ein Angreifer
können zwar
verschlüsselte
Inhalte, die dem Datenprozessor 8 zugeführt werden, sowie ihre entschlüsselten
und wiederhergestellten Inhalte erhalten, aber weder der autorisierte
Anwender noch der Angreifer können
auf den Entschlüsselungsvorgang
zugreifen, der während
der Entschlüsselung
und Wiedergabe stattgefunden hat. Das kann verhindern, daß Spezialprogramme
wie etwa ein Entschlüsselungsschlüssel und ein
Entschlüsselungs-Algorithmus abgehört werden.
-
(2)
Wie die 5 und 6 zeigen,
werden die Spezialattributdaten TD mit den Etikettdaten TG in dem
Attributetikettspeicher 15d verglichen, und Zugriff auf
den Spezialbefehl-Zwischenspeicherbereich
CS und den Spezialdaten-Zwischenspeicherbereich DS wird verwehrt,
wenn die beiden Daten nicht miteinander übereinstimmen. Das kann verhindern,
daß der
Entschlüsselungsschlüssel und
der Entschlüsselungs-Algorithmus
von einem nichtautorisierten Nutzer (Angreifer) beschafft werden.
-
(3)
Wie 4 zeigt, werden dann, wenn das Ladeprogramm den
Entschlüsselungsschlüssel und Entschlüsselungs-Algorithmus
in dem Spezialbefehl-Zwischenspeicherbereich CS und dem Spezialdaten-Zwischenspeicherbereich
DS speichert, alte Programme und Daten in dem Spezialbefehl-Zwischenspeicherbereich
CS und dem Spezialdaten-Zwischenspeicherbereich DS gelöscht, bevor neue
gespeichert werden. Jedesmal, wenn ein Wiedergabevorgang ausgeführt wird,
speichert somit das Ladeprogramm den Entschlüsselungsschlüssel und den
Entschlüsselungs-Algorithmus
in dem Spezialbefehl-Zwischenspeicherbereich CS und dem Spezialdaten-Zwischenspeicherbereich
DS. Dies kann eine unzulässige
Beschaffung und Verfälschung
des Entschlüsselungsschlüssels und
des Entschlüsselungs-Algorithmus
durch einen Angreifer verhindern.
-
Die
vorstehende Beschreibung dieser Ausführungsform bezieht sich auf
den Datenprozessor 8, der ausschließlich für die Signalverarbeitung ausgelegt
ist; die vorliegende Erfindung kann aber ein Abhören (was die unzulässige Beschaffung
einschließt) des
Entschlüsselungsschlüssels und
des Entschlüsselungs-Algorithmus
auch in einem Fall verhindern, in dem ein handelsüblicher
Universal-Mikroprozessor (eine CPU) ein Wiedergabeprogramm laufen
läßt, um eine
software-basierte Entschlüsselung
und Wiedergabe von verschlüsselten
Inhalten auszuführen.
-
8 zeigt
den allgemeinen Schaltungsaufbau einer anderen Ausführungsform,
die einen Pentium-Mikroprozessor 20 (von Intel Co.) verwendet. Der
Mikroprozessor 20 ist auf einer elektrischen Schaltungsplatte 21,
die als Hauptplatine bezeichnet wird, angebracht. Eine Systembus-Schnittstelleneinheit 22,
die in dem Mikroprozessor 20 ausgebildet ist, ist mit einem
auf der Hauptplatine 21 gebildeten externen Bus BUS6 verbunden.
Ein Hauptspeicher 23 ist mit dem externen Bus BUS6 verbunden,
und ein Informationsaufzeichnungsmedium-Spieler 25 ist
mit dem externen Bus BUS6 über
einen E/A-Port 24 verbunden.
-
Der
Mikroprozessor 20 weist als wesentliche Schaltkreise eine
Ausführungseinheit 26,
eine Befehlsabrufeinheit 27, einen Befehlsdecodierer 28, eine
Registerzuordnungstabelle 29, einen Neuordnungspuffer 30,
eine Befehlszwischenspeichereinheit 31 und eine Datenzwischenspeichereinheit 32 zusätzlich zu
der vorgenannten Systembus-Schnittstelleneinheit 22 auf.
Die Systembus-Schnittstelleneinheit 22, die Befehlszwischenspeichereinheit 31 und
die Datenzwischenspeichereinheit 32 tauschen ein Programm
und Daten über
einen internen Bus BUS7 aus.
-
Da
die Funktionen der wesentlichen Schaltkreise umfassend dokumentiert
sind, folgt keine detaillierte Beschreibung derselben. Die Hauptpunkte dieser
Ausführungsform
liegen darin, daß ein
Befehlszwischenspeicher, der in der Befehlszwischenspeichereinheit 31 gebildet
ist, einen Normalbefehl-Zwischenspeicherbereich 31a der
ersten Ebene (L1) und einen Spezial-CS-Zwischenspeicherbereich 31b zum
Speichern von Spezialprogrammcodes, die einem Entschlüsselungsschlüssel und
einem Entschlüsselungs-Algorithmus
zugeordnet sind, hat und daß ein
Datenzwischenspeicher, der in der Datenzwischenspeichereinheit 32 gebildet
ist, einen Normaldaten-Zwischenspeicherbereich 32a der
ersten Ebene (L1) und einen Spezial-DS-Zwischenspeicherbereich 32b zum
Speichern von Spezialdaten hat, die dem Entschlüsselungsschlüssel und
dem Entschlüsselungs-Algorithmus
zugeordnet sind.
-
Dabei
haben, wie 9 zeigt, die Befehlszwischenspeichereinheit 31 und
die Datenzwischenspeichereinheit 32 die internen Zwischenspeicher, welche
den Spezial-CS-Zwischenspeicherbereich 31b und den Spezial-DS-Zwischenspeicherbereich 32b zum
Speichern von Spezialprogrammcodes und -daten aufweisen, zusätzlich zu
dem Normalbefehl-Zwischenspeicherbereich 31a und
dem Normaldaten-Zwischenspeicherbereich 32a. Jede der Zwischenspeichereinheiten 31 und 32 hat
ferner eine Zwischenspeichersteuerung 33, die mit der Ausführungseinheit 26,
der Befehlsabrufeinheit 27 und dem internen Bus BUS7 verbunden
ist, und einen Etikettspeicher 34.
-
Der
Etikettspeicher 34 hat einen Etikettspeicherbereich 34a zum
Speichern von Etikettdaten TGC, die einer Indexadresse des Spezial-CD-Zwischenspeicherbereichs 31b entsprechen
(nachstehend als "Nur-Spezial-CS-Etikett" bezeichnet), einen Etikettspeicherbereich 34b zum
Speichern von Etikettdaten TGD, die einer Indexadresse des Spezial-DS-Zwischenspeicherbereichs 32b entsprechen (nachstehend
als "Nur-Spezial-DS-Etikett" bezeichnet), und
einen Etikettspeicherbereich 34c zum Speichern von Etikettdaten,
die Indexadressen des Normalbefehl-Zwischenspeicherbereichs 31a und
des Normaldaten-Zwischenspeicherbereichs 32a entsprechen
(nachstehend als "Normaletikett" bezeichnet).
-
Wenn
ein Anwender mittels der vorstehenden Struktur die Vorbereitung
eines Wiedergabevorgangs anweist, um verschlüsselte Inhalte wiederzugeben,
wird der gleiche Vorgang ausgeführt,
der in dem Ablaufdiagramm von 4 dargestellt
ist. Somit werden Spezialprogramme wie ein Entschlüsselungsschlüssel und
ein Entschlüsselungs-Algorithmus,
ein Laderprogramm und ein Entpackprogramm, die auf einem Informationsaufzeichnungsträger gespeichert
sind, von dem Informationsaufzeichnungsträger-Spieler 25 in
den Hauptspeicher 23 übertragen,
und das in dem Hauptspeicher 23 gespeicherte Laderprogramm
wird dann ausgeführt.
-
Da
der Entschlüsselungsschlüssel und
der Entschlüsselungs-Algorithmus
fragmentiert in dem Hauptspeicher 23 gespeichert sind,
ist es außerordentlich
schwierig, den fragmentier ten Entschlüsselungsschlüssel und
den fragmentierten Entschlüsselungs-Algorithmus,
wenn sie aus dem Hauptspeicher 23 gelesen werden, wieder
zu dem Original herzustellen.
-
Wenn
das Laderprogramm ausgeführt
wird, werden zuerst der Spezial-CS-Zwischenspeicherbereich 31b und
der Spezial-DS-Zwischenspeicherbereich 32b gelöscht. Dann
weiden der Entschlüsselungsschlüssel, der
Entschlüsselungs-Algorithmus und
das Entpackprogramm, die in dem Hauptspeicher 23 gespeichert
sind, wiederhergestellt und zu dem Spezial-CS-Zwischenspeicherbereich 31b und dem
Spezial-DS-Zwischenspeicherbereich 32b übertragen. Ferner werden die
Spezialetikettdaten TGC in dem Etikettspeicherbereich 34a des
Etikettspeichers 34 in Zuordnung mit der Indexadresse des Spezial-CS-Zwischenspeicherbereichs 31b gespeichert,
und die Spezialetikettdaten TGD werden in dem Etikettspeicherbereich 34b in
Zuordnung mit der Indexadresse des Spezial-DS-Zwischenspeicherbereichs 32b gespeichert.
-
Als
nächstes
führt der
Mikroprozessor 20 den Entschlüsselungsschlüssel und
den Entschlüsselungs-Algorithmus
und das Entpackprogramm aus, die in dem Spezial-CS-Zwischenspeicherbereich 31b und
dem Spezial-DS-Zwischenspeicherbereich 32b gespeichert
sind, und aktiviert die Wiedergabe von verschlüsselten Inhalten, die von dem
Informationsaufzeichnungsträger-Spieler 25 übertragen
wurden. Anschließend
wird, wie bereits erläutert
wurde, das Lesen von Programmcodes entsprechend dem Ablaufdiagramm
von 5, das Auslesen von Daten entsprechend dem Ablaufdiagramm
von 6 und das Einschreiben von Daten entsprechend
dem Ablaufdiagramm von 7 ausgeführt.
-
Zum
Zeitpunkt des Lesens von Programmcodes vergleicht die Zwischenspeichersteuerung 33 die
Spezialattributdaten TD, die von der Befehlsabrufeinheit 27 gleichzeitig
mit der Abgabe der Zugriffsanforderung zugeführt wurden, mit den Etikettdaten
TGC in dem Etikettspeicherbereich 34a. Die Programmcodes
in dem Spezial-CS-Zwischenspeicherbereich 31b werden nur
dann ausgelesen und zu dem Befehlsdecodierer 28 übertragen,
wenn die beiden Daten TD und TGC miteinander übereinstimmen.
-
Zum
Zeitpunkt des Auslesens von Daten vergleicht die Zwischenspeichersteuerung 33 die
Spezialattributdaten TD, die von dem Speicherordnungspuffer in der
Ausführungseinheit 26 gleichzeitig
mit der Abgabe der Zugriffsanforderung zugeführt wurden, mit den Etikettdaten
TGD in dem Etikettspeicherbereich 34b. Die Daten in dem
Spezial-DS-Zwischenspeicherbereich 32b werden
nur dann ausgelesen und zu dem Neuordnungspuffer 30 übertragen,
wenn die beiden Daten TD und TGD miteinander übereinstimmen.
-
Zum
Zeitpunkt des Einschreibens von Daten vergleicht die Zwischenspeichersteuerung 33 die Spezialattributdaten
TD, die von dem Speicherordnungspuffer in der Ausführungseinheit 26 gleichzeitig mit
der Abgabe der Zugriffsanforderung zugeführt wurden, mit den Etikettdaten
TGD in dem Etikettspeicherbereich 34b. Die Daten in dem
Spezial-DS-Zwischenspeicherbereich 32b werden
nur dann in den Spezial-DS-Zwischenspeicherbereich 32b geschrieben,
wenn beide Daten TD und TGD miteinander übereinstimmen.
-
Auch
in einem Fall, in dem auf dem handelsüblichen Universal-Mikroprozessor 20 ein
Wiedergabeprogramm abläuft,
um eine software-basierte Entschlüsselung und Wiedergabe von
verschlüsselten Inhalten
auszuführen,
werden Spezialprogramme wie etwa ein Entschlüsselungsschlüssel und
ein Entschlüsselungs-Algorithmus,
die vor einem Abhören geschützt sein
sollten, nur in dem Mikroprozessor 20 ausgeführt, und
die Abläufe
des Entschlüsselns
und Entpackens von verschlüsselten
Inhalten zu Originalinhalten, die in dem Mikroprozessor 20 ausgeführt werden,
sind vor der Außenseite
verborgen. Diese Struktur kann also ein Abhören von Spezialprogrammen wie
etwa eines Entschlüsselungsschlüssels und eines
Entschlüsselungs-Algorithmus
unterbinden und somit Inhalte vor einem Angriff-hützen.
-
Wie
oben beschrieben wird, hat die Signalverarbeitungsvorrichtung der
vorliegenden Erfindung die Speichereinrichtung, die Programmausführungseinrichtung
(oder den -schritt) und die Diskriminierungseinrichtung (oder den
-schritt), die gegenüber der
Außenseite
verborgen sind, und ermöglicht
es, daß verschlüsselte Inhalte
zu Originalinhalten entschlüsselt
und wiedergegeben werden, indem nur Spezialprogramme in der Speichereinrichtung
gespeichert sind und diese Programme dann ausgeführt werden. Dadurch kann ein
Abhören
der Spezialprogramme verhindert werden, was im Schutz der Inhalte
vor einem Angriff resultiert.
-
Ferner
wird Zugriff zu der Speichereinrichtung nur gewährt, wenn in dem Attributspeicher
gespeicherte Attributinformation mit der Information übereinstimmt,
die das Attri but eines von der Programmausführungseinrichtung zugeführten Spezialprogramms
bezeichnet. Das verhindert, daß ein nichtautorisierter
Nutzer das Spezialprogramm beschaffen kann.
-
Ferner
sind Spezialprogramme in einer fragmentierten Form auf einem Informationsaufzeichnungsmedium
aufgezeichnet, so daß auch
dann, wenn ein Angreifer das fragmentierte Spezialprogramm beschafft,
die Fragmentierung eine Auswertung des Spezialprogramms erschwert,
so daß die verschlüsselten
Inhalte geschützt
sind. Das fragmentierte Spezialprogramm wird wiederhergestellt und
in einem Speicherbereich gespeichert, wenn die Signalverarbeitungsvorrichtung
das Übertragungsprogramm
ausführt.
Die verschlüsselten
Inhalte können zu
Originalinhalten entschlüsselt
werden, wenn die Signalverarbeitungsvorrichtung das in dem Speicherbereich
gespeicherte, wiederhergestellte Spezialprogramm ausführt.