DE60011962T2 - Signalverarbeitungsgerät und -verfahren und Informationsaufzeichnungsmedium zum Gebrauch darin - Google Patents

Signalverarbeitungsgerät und -verfahren und Informationsaufzeichnungsmedium zum Gebrauch darin Download PDF

Info

Publication number
DE60011962T2
DE60011962T2 DE60011962T DE60011962T DE60011962T2 DE 60011962 T2 DE60011962 T2 DE 60011962T2 DE 60011962 T DE60011962 T DE 60011962T DE 60011962 T DE60011962 T DE 60011962T DE 60011962 T2 DE60011962 T2 DE 60011962T2
Authority
DE
Germany
Prior art keywords
program
special
data
attribute
stored
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE60011962T
Other languages
English (en)
Other versions
DE60011962D1 (de
Inventor
Keiji Tokorozawa-shi Katata
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Pioneer Corp
Original Assignee
Pioneer Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Pioneer Corp filed Critical Pioneer Corp
Publication of DE60011962D1 publication Critical patent/DE60011962D1/de
Application granted granted Critical
Publication of DE60011962T2 publication Critical patent/DE60011962T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy

Description

  • 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.

Claims (6)

  1. Signalverarbeitungsvorrichtung (8) zum Entschlüsseln von extern gelieferten verschlüsselten Inhalten, um die ursprünglichen Inhalte der verschlüsselten Inhalte wiederherzustellen, und zum Aussenden der ursprünglichen Inhalte; wobei die Signalverarbeitungsvorrichtung folgendes aufweist: eine Speichereinrichtung (15c) zum Speichern eines speziellen Programms zum Entschlüsseln der verschlüsselten Inhalte und Wiederherstellen der ursprünglichen Inhalte; eine Attributspeichereinrichtung (15d) zum Speichern von Attributinformation des in der Speichereinrichtung gespeicherten speziellen Programms; eine Programmausführungseinrichtung (9) zum Ausführen des in der Speichereinrichtung gespeicherten speziellen Programms, um die verschlüsselten Inhalte zu entschlüsseln und die ursprünglichen Inhalte wiederherzustellen; eine Diskriminierungseinrichtung (15b) zum Bestimmen, ob die Programmausführungseinrichtung auf die Speichereinrichtung mit Information zugegriffen hat, die ein von der Programmausführungseinrichtung geliefertes Attribut des speziellen Programms bezeichnet, und zum Verweigern eines Zugriffs auf die Speichereinrichtung, wenn die Programmausführungseinrichtung auf die Speichereinrichtung ohne die Information zugegriffen hat, die ein von der Programmausführungseinrichtung geliefertes Attribut des speziellen Programms bezeichnet; und eine Eingabe-/Ausgabeeinrichtung (14) zum Empfangen des extern gelieferten speziellen Programms und der verschlüsselten Inhalte und zum Ausgeben der wiederhergestellten Inhalte; wobei die Diskriminierungseinrichtung die in der Attributspeichereinrichtung gespeicherte Attributinformation mit der Information vergleicht, die das von der Programmausführungseinrichtung gelieferte Attribut des speziellen Programms bezeichnet, und einen Zugriff auf die Speichereinrichtung verweigert, wenn keine Übereinstimmung besteht, und wobei die Speichereinrichtung, die Programmausführungseinrichtung und die Diskriminierungseinrichtung vor externen Einheiten verborgen sind.
  2. Signalverarbeitungsvorrichtung nach Anspruch 1, wobei dann, wenn die Speichereinrichtung das spezielle Programm speichert, die Programmausführungseinrichtung die Speichereinrichtung löscht und dann das spezielle Programm in der Speichereinrichtung speichert.
  3. Verwendung der Signalverarbeitungsvorrichtung nach einem der Ansprüche 1 bis 2 zur Wiedergabe von Information auf einem Informationsaufzeichnungsmedium, in dem das spezielle Programm und ein Übertragungsprogramm zum Übertragen des speziellen Programms zu der Speichereinrichtung (15c) zur Speicherung darin aufgezeichnet werden, wobei das spezielle Programm fragmentiert aufgezeichnet wird und das Übertragungsprogramm dann, wenn es von der Programmausführungseinrichtung (9) ausgeführt wird, das fragmentierte spezielle Programm wiederherstellt und das wiederhergestellte spezielle Programm in der Speichereinrichtung (15c) speichert.
  4. Signalverarbeitungsverfahren zum Entschlüssen von extern gelieferten verschlüsselten Inhalten, um die ursprünglichen Inhalte der verschlüsselten Inhalte wiederherzustellen, und zum Aussenden der ursprünglichen Inhalte, wobei das Verfahren die folgenden Schritte aufweist: einen ersten Speicherungsschritt, in dem ein spezielles Programm zum Entschlüsseln der verschlüsselten Inhalte und Wiederherstellen der ursprünglichen Inhalte in einer Speichereinrichtung (15c) gespeichert wird; einen zweiten Speicherungsschritt, in dem Attributinformation des in der Speichereinrichtung gespeicherten speziellen Programms in einer Attributspeicherein richtung (15d) gespeichert wird; einen Programmausführungsschritt, in dem das in der Speichereinrichtung (15c) gespeicherte spezielle Programm ausgeführt wird, um die verschlüsselten Inhalte zu entschlüsseln und die ursprünglichen Inhalte wiederherzustellen; einen Diskriminierungsschritt, in dem bestimmt wird, ob auf die Speichereinrichtung mit Information zugegriffen worden ist, die ein in dem Programmausführungsschritt erzeugtes Attribut des speziellen Programms bezeichnet, und in dem ein Zugriff auf die Speichereinrichtung verweigert wird, wenn auf die Speichereinrichtung ohne die Information zugegriffen worden ist; und einen Eingabe-/Ausgabeschritt, in dem das extern gelieferte spezielle Programm und die verschlüsselten Inhalte empfangen und die wiederhergestellten Inhalte ausgegeben werden, wobei der Diskriminierungsschritt die in der Attributspeichereinrichtung gespeicherte Attributinformation mit der Information vergleicht, die das in dem Programmausführungsschritt erzeugte Attribut des speziellen Programms bezeichnet, und einen Zugriff auf die Speichereinrichtung verweigert, wenn keine Übereinstimmung besteht.
  5. Signalverarbeitungsverfahren nach Anspruch 4, wobei dann, wenn die Speichereinrichtung (15c) das spezielle Programm speichert, der Programmausführungsschritt die Speichereinrichtung löscht und dann das spezielle Programm in der Speichereinrichtung speichert.
  6. Verwendung des Signalverarbeitungsverfahrens nach einem der Ansprüche 4 oder 5 zur Wiedergabe von Information auf einem Informationsaufzeichnungsmedium, in dem das spezielle Programm und ein Übertragungsprogramm zum Übertragen des speziellen Programms zu der Speichereinrichtung (15c) zur Speicherung darin aufgezeichnet werden, wobei das spezielle Programm fragmentiert aufgezeichnet wird und das Übertragungsprogramm dann, wenn es durch den Programmausführungsschritt ausgeführt wird, das fragmentierte spezielle Programm wiederherstellt und das wiederhergestellte spezielle Programm in der Speichereinrichtung (15c) speichert.
DE60011962T 1999-07-29 2000-07-28 Signalverarbeitungsgerät und -verfahren und Informationsaufzeichnungsmedium zum Gebrauch darin Expired - Lifetime DE60011962T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP11214744A JP2001043139A (ja) 1999-07-29 1999-07-29 信号処理装置及びそれに用いる情報記録媒体
JP21474499 1999-07-29

Publications (2)

Publication Number Publication Date
DE60011962D1 DE60011962D1 (de) 2004-08-12
DE60011962T2 true DE60011962T2 (de) 2005-07-28

Family

ID=16660879

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60011962T Expired - Lifetime DE60011962T2 (de) 1999-07-29 2000-07-28 Signalverarbeitungsgerät und -verfahren und Informationsaufzeichnungsmedium zum Gebrauch darin

Country Status (3)

Country Link
EP (1) EP1073051B1 (de)
JP (1) JP2001043139A (de)
DE (1) DE60011962T2 (de)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6869099B2 (en) 2001-02-20 2005-03-22 Nissan Motor Co., Ltd. Air bag apparatus for vehicle
WO2005109434A1 (ja) * 2004-05-11 2005-11-17 Matsushita Electric Industrial Co., Ltd. 再生装置、プログラム、再生方法
US7639926B2 (en) * 2004-09-14 2009-12-29 Marvell World Trade Ltd. Unified control and memory for a combined DVD/HDD system
CN1758358B (zh) * 2004-09-14 2012-04-18 马维尔国际贸易有限公司 组合式dvd/hdd系统的统一控制和存储
US7702221B2 (en) 2004-09-14 2010-04-20 Marvell World Trade Ltd. Unified control and memory for a combined DVD/HDD system
US7639927B2 (en) 2004-09-14 2009-12-29 Marvell World Trade Ltd. Unified control and memory for a combined DVD/HDD system
US7793083B2 (en) 2004-11-26 2010-09-07 Panasonic Corporation Processor and system for selectively disabling secure data on a switch
US8265274B2 (en) 2006-04-24 2012-09-11 Panasonic Corporation Data processing device, data processing method, data processing program, recording medium containing the data processing program and integrated circuit
JP4957988B2 (ja) * 2006-05-29 2012-06-20 ソニーモバイルコミュニケーションズ株式会社 コンテンツ再生装置
US8181038B2 (en) * 2007-04-11 2012-05-15 Cyberlink Corp. Systems and methods for executing encrypted programs
EP2717186A4 (de) * 2011-05-25 2015-05-13 Panasonic Ip Man Co Ltd Informationsverarbeitungsvorrichtung und informationsverarbeitungsverfahren
EP2690579A1 (de) 2012-07-27 2014-01-29 Gemalto SA Verfahren und Vorrichtung zum Schutz vor Fehlerangriffen in einem elektronischen Gerät mit Cache-Speicher

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4847902A (en) * 1984-02-10 1989-07-11 Prime Computer, Inc. Digital computer system for executing encrypted programs
US5224166A (en) * 1992-08-11 1993-06-29 International Business Machines Corporation System for seamless processing of encrypted and non-encrypted data and instructions
US5327563A (en) * 1992-11-13 1994-07-05 Hewlett-Packard Method for locking software files to a specific storage device
JPH08305558A (ja) * 1995-04-27 1996-11-22 Casio Comput Co Ltd 暗号化プログラム演算装置
US5943421A (en) * 1995-09-11 1999-08-24 Norand Corporation Processor having compression and encryption circuitry
US6052780A (en) * 1996-09-12 2000-04-18 Open Security Solutions, Llc Computer system and process for accessing an encrypted and self-decrypting digital information product while restricting access to decrypted digital information

Also Published As

Publication number Publication date
DE60011962D1 (de) 2004-08-12
JP2001043139A (ja) 2001-02-16
EP1073051B1 (de) 2004-07-07
EP1073051A2 (de) 2001-01-31
EP1073051A3 (de) 2002-01-16

Similar Documents

Publication Publication Date Title
DE60033066T2 (de) Halbleiterspeicherkarte und Datenlesevorrichtung
DE69732880T2 (de) Verschlüsselungsverfahren, Entschlüsselungsverfahren, Aufzeichnungs- und Wiedergabeverfahren, Entschlüsselungsvorrichtung, Vorrichtung für Entschlüsselungseinheit, Aufzeichnungsmedium, Aufzeichnungsmediumherstellungsverfahren und Schlüsselsteuerverfahren
DE60031476T3 (de) Speichereinheiten, Datenverarbeitungseinheiten und zugehörige Verfahren
DE60017613T2 (de) Speicher und Datenverarbeitungseinheiten und Datenverarbeitungsverfahren
DE112005003340B4 (de) Mechanismus zum Bestimmen der Vertrauenswürdigkeit von Außerbandverwaltungsagenten
DE69333754T2 (de) Schutzsystem für elektronische Daten
DE69531077T2 (de) Verfahren und Vorrichtung mit Benutzereinwirkung der Art Erproben-und-Kaufen, die es ermöglicht, Software zu erproben
DE69333122T2 (de) Sicherheitseinheit für Datenverarbeitungssysteme
DE112011104325B4 (de) Computerlesbare Speichermedien zum Verschlüsseln und Entschlüsseln einer virtuellen Platte
DE102004008702B4 (de) Inhaltsverschlüsselung unter Verwendung einer programmierbaren Hardware
DE60011962T2 (de) Signalverarbeitungsgerät und -verfahren und Informationsaufzeichnungsmedium zum Gebrauch darin
DE60220577T2 (de) Aufzeichnungs-/Wiedergabevorrichtung, Verfahren zum Bewegen von Daten und Verfahren zum Löschen von Daten
DE60015269T2 (de) Ein verfahren und system einen kopierschutz auf einem speichermedium darzustellen und ein speichermedium in einem solchen system zu benutzen
DE69531082T2 (de) Verfahren und Vorrichtung mit einem Verschlüsselungskopfteil, die es ermöglicht, Software zu erproben
DE60130779T2 (de) Verfahren und gerät zum kontrolieren des verteilens und der benutzung von digitalwerken
DE10297433B4 (de) Speicherverwaltungseinheit, Verfahren zum Bereitstellen einer Speicherzugriffssicherheit auf der Basis einer linearen Adresse und Prozessor
DE19803218A1 (de) Informationsspeichermedium und zugehöriges Schutzverfahren
DE10297238T5 (de) Verfahren und Vorrichtung zum Schutz von Inhalten an einer Schnittstelle
DE10196440B4 (de) Steuern des Zugriffs auf mehrere isolierte Speicher in einer isolierten Ausführungsumgebung
DE60113162T2 (de) Mehrzweckcomputer mit entsprechendem Copyrightverwaltungsverfahren
DE60114069T3 (de) System und Verfahren für den Schutz von Digitalwerken
DE102019110440A1 (de) Replay-Schutz für Speicher auf der Basis eines Schlüsselauffrischens
DE10040808B4 (de) Endgerät zum Aufzeichnen und Wiedergeben digitaler Audiosignale
DE60112406T2 (de) Informatikvorrichtung und speichermedium
DE10056792A1 (de) Verschlüsselungs-/Entschlüsselungsspeicher und Verfahren zum Speichern und Auslesen

Legal Events

Date Code Title Description
8320 Willingness to grant licences declared (paragraph 23)
8364 No opposition during term of opposition