DE60127096T2 - Vorrichtung und verfahren zur informationsverarbeitung - Google Patents

Vorrichtung und verfahren zur informationsverarbeitung Download PDF

Info

Publication number
DE60127096T2
DE60127096T2 DE60127096T DE60127096T DE60127096T2 DE 60127096 T2 DE60127096 T2 DE 60127096T2 DE 60127096 T DE60127096 T DE 60127096T DE 60127096 T DE60127096 T DE 60127096T DE 60127096 T2 DE60127096 T2 DE 60127096T2
Authority
DE
Germany
Prior art keywords
key
ekb
category
tree
node
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
DE60127096T
Other languages
English (en)
Other versions
DE60127096D1 (de
Inventor
Tomoyuki c/o SONY CORPORATION ASANO
Yoshitomo c/o SONY CORPORATION OSAWA
Tateo c/o SONY CORPORATION OISHI
Ryuji c/o Sony Corporation ISHIGURO
Ryuta c/o SONY CORPORATION TAKI
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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Publication of DE60127096D1 publication Critical patent/DE60127096D1/de
Application granted granted Critical
Publication of DE60127096T2 publication Critical patent/DE60127096T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • 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]
    • G06F21/107License processing; Key processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/062Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • H04L9/0833Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
    • H04L9/0836Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key using tree structure or hierarchical structure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • 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
    • 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
    • G11B20/0021Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier
    • 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
    • G11B20/00855Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving a step of exchanging information with a remote server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0869Network architectures or network communication protocols for network security for authentication of entities for achieving mutual authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/104Grouping of entities

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Technology Law (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Storage Device Security (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Hardware Redundancy (AREA)
  • Debugging And Monitoring (AREA)
  • Circuits Of Receivers In General (AREA)
  • Information Transfer Between Computers (AREA)
  • Communication Control (AREA)
  • Multi-Process Working Machines And Systems (AREA)

Description

  • Die vorliegende Erfindung betrifft ein Informationsverarbeitungssystem, ein Informationsverarbeitungsverfahren und ein Informationsspeichermedium und, insbesondere gemäß einer nachfolgend beschriebenen bevorzugten Ausführungsform, ein System, ein Verfahren und ein Medium, die in einem Datenverteilungssystem und Verfahren zum Bereitstellen von verschiedenen Arten von Daten, wie z. B. Inhaltsdaten, an einen autorisierten Benutzer mit Hilfe eines Prozesses, der einen kryptografischen Prozess enthält, verwendet werden können.
  • Es ist heute sehr populär, verschiedene Arten von Software-Daten, wie z. B. ein Spielprogramm, Audiodaten und Bilddaten (nachfolgend werden solche Daten als ein Inhalt bezeichnet) über ein Netzwerk, wie z. B. das Internet, oder über ein vertreibbares Speichermedium, wie z. B. eine DVD oder eine CD, zu verteilen. Nach dem Laden solcher Inhaltsdaten auf einen PC (Personalcomputer) oder ein Spielgerät eines Benutzers über eine Datenübertragung oder nach dem Laden eines Speichermediums, auf dem Inhaltsdaten gespeichert sind, auf den PC oder das Spielgerät, kann der Benutzer einen wiedergegebenen Inhalt genießen. Ein auf einem Speicher gespeicherter Inhalt kann in eine Speichervorrichtung, wie z. B. eine Speicherkarte oder eine Festplatte, die in einem PC angeordnet ist, oder in einem Aufzeichnungs-/Wiedergabegerät gespeichert werden, so dass der Inhalt von der Speichervorrichtung wiedergegeben werden kann.
  • Eine Informationsvorrichtung, wie z. B. ein Videospielgerät oder ein PC kann eine Schnittstelle zum Empfangen eines Inhalts über ein Netzwerk oder zum Zugreifen auf eine DVD oder eine CD umfassen und weiterhin ein RAM, ein ROM oder dgl. umfassen, die als ein Speicherbereich zum Speichern von Steuermitteln, eines Programms und Daten, die zur Wiedergabe eines Inhalts benötigt werden, verwendet werden.
  • Vielfältige Arten von Inhalten, wie z. B. Musikdaten, Videodaten oder ein Programm können von einem Speichermedium gelesen und auf eine Informationsvorrichtung selbst, wie z. B. ein Spielegerät oder ein PC, die als Wiedergabegeräte verwendet werden, wiedergegeben werden oder auf einer Anzeige oder durch einen Lautsprecher, die mit der Informationsvorrichtung verbunden sind, abhängig von einem Befehl, der von einem Benutzer direkt in die Informationsvorrichtung oder indirekt über eine Eingabeeinrichtung eingegeben wird, die mit der Informationsvorrichtung verbunden ist, wiedergegeben werden.
  • Im Allgemeinen liegt das Recht der Verteilung der Softwareinhalte, wie z. B. Spieleprogramme, Musikdaten oder Videodaten bei den Herstellern oder Verkäufern der Softwareinhalte. Softwareinhalte werden im Allgemeinen unter bestimmten Benutzungsbeschränkungen vertrieben, um sicherzustellen, dass nur autorisierte Benutzer die Softwareinhalte verwenden können, und dass keine nicht autorisierte Kopien davon vorgenommen werden können.
  • Eine Technik zum Beschränken der Benutzung auf bestimmte Benutzer besteht darin, einen Inhalt zu verschlüsseln. Insbesondere wird ein Inhalt, wie z. B. Audiodaten, Videodaten oder ein Spieleprogramm über das Internet oder dgl. nach dem Verschlüsseln des Inhalts verteilt, und ein Entschlüsselungsschlüssel, der als ein Mittel zum Entschlüsseln des verschlüsselten Inhalts dient, wird nur autorisierten Benutzern gegeben.
  • Die verschlüsselten Daten können in ihre ursprüngliche Form (Klartext) konvertiert werden, indem ein vorbestimmter Entschlüsselungsprozess auf die verschlüsselten Daten durchgeführt wird. Die Technik des Verschlüsselns und Entschlüsselns von Informationen mit Hilfe eines Verschlüsselungsschlüssels und eines Entschlüsselungsschlüssels ist im Stand der Technik wohlbekannt.
  • Vielfältige Techniken des Verschlüsselns und Entschlüsselns von Daten mit Hilfe eines Verschlüsselungsschlüssels und eines Entschlüsselungsschlüssels sind bekannt. Eine von ihnen ist eine Technik, die als Kryptografie mit einem gemeinsamen Schlüssel bekannt ist. Bei der Kryptografie mit einem gemeinsamen Schlüssel wird der gleiche Schlüssel, der gemeinsamer Schlüssel genannt wird, verwendet, sowohl als ein Verschlüsselungsschlüssel zum Verschlüsseln von Daten als auch als ein Entschlüsselungsschlüssel zum Entschlüsseln der verschlüsselten Daten, und der gemeinsame Schlüssel wird nur autorisierten Benutzern gegeben, so dass nicht autorisierte Benutzer, die nicht den gemeinsamen Schlüssel besitzen, nicht auf die Daten zugreifen können. Ein bestimmtes Beispiel der Kryptografie mit einem gemeinsamen Schlüssel ist dasjenige, das auf dem DES (Data Encryption Standard: Datenverschlüsselungsstandard) basiert.
  • Ein Verschlüsselungsschlüssel zum Verschlüsseln von Daten und ein Entschlüsselungsschlüssel zum Entschlüsseln der verschlüsselten Daten kann man aus einem Passwort oder dgl. erhalten, indem eine unidirektionale Funktion, wie z. B. eine Hash-Funktion verwendet wird. Hierin bezieht sich die unidirektionale Funktion auf eine Funktion, deren Eingangswert sehr schwierig über ihren Ausgangswert abzuschätzen ist. Obwohl ein Verschlüsselungs-/Entschlüsselungsschlüssel mit Hilfe eines Ausgangswerts, den man durch Verwenden einer unidirektionalen Funktion, z. B. auf ein von einem Benutzer bestimmten Passwort erhalten kann, erzeugt werden kann, ist es im Wesentlichen unmöglich, aus dem erhaltenen Verschlüsselungs-/Entschlüsselungsschlüssel das Passwort festzustellen, das den ursprünglichen Daten, aus denen der Verschlüsselungs-/Entschlüsselungsschlüssel erzeugt wird, entspricht.
  • Eine weitere bekannte Technik ist die Kryptografie mit einem öffentlichen Schlüssel, bei der ein Verschlüsselungsschlüssel, der zur Verschlüsselung verwendet wird, und ein Entschlüsselungsschlüssel, der für die Entschlüsselung verwendet wird, gemäß verschiedenen Algorithmen erzeugt werden. Bei der Kryptografie mit einem öffentlichen Schlüssel wird ein öffentlicher Schlüssel, der durch jeden nicht spezifizierten Benutzer verwendet werden darf, von einem bestimmten Benutzer ausgegeben, und ein an den bestimmten Benutzer bereitzustellendes Dokument wird mit Hilfe des öffentlichen Schlüssels, der durch den bestimmten Benutzer ausgegeben wird, verschlüsselt. Das mit Hilfe des öffentlichen Schlüssels verschlüsselte Dokument kann nur mit Hilfe eines geheimen Schlüssels, der dem Verschlüsselungsschlüssel, der zum Verschlüsseln des Dokuments verwendet wird, zugeordnet ist, entschlüsselt werden. Der geheime Schlüssel wird nur von dem Benutzer, der den öffentlichen Schlüssel ausgegeben hat, gespeichert und somit kann das mit Hilfe des öffentlichen Schlüssels verschlüsselte Dokument nur durch den Benutzer mit dem geheimen Schlüssel entschlüsselt werden. Ein repräsentatives Beispiel der Kryptografie mit einem öffentlichen Schlüssel ist dasjenige, das auf dem RSA-(Rivest-Shamir-Adelman-)Algorithmus basiert. Mit Hilfe einer der oben beschriebenen Kryptografietechniken ist es möglich, ein System zu realisieren, in dem verschlüsselte Inhalte nur durch autorisierte Benutzer entschlüsselt werden können.
  • In einem solchen Inhalteverteilungssystem werden verschlüsselte Inhalte Benutzern über ein Netzwerk oder über einen Speicher, wie z. B. eine DVD oder eine CD zur Verfügung gestellt und Inhaltsschlüssel, die verwendet werden, um den verschlüsselten Inhalt zu entschlüsseln, werden nur autorisierten Benutzern zur Verfügung gestellt. Um zu verhindern, dass ein Inhaltsschlüssel auf nicht autorisierte Weise kopiert wird, wurde vorgeschlagen, einen Inhaltsschlüssel zu verschlüsseln und den verschlüsselten Inhaltsschlüssel an einen autorisierten Benutzer so zur Verfügung zu stellen, dass nur der autorisierte Benutzer den verschlüsselten Inhaltsschlüssel mit Hilfe eines Entschlüsselungsschlüssel, den nur der autorisierte Benutzer gespeichert hat, entschlüsseln kann.
  • Eine Bewertung, ob jemand ein autorisierter Benutzer ist oder nicht, wird im Allgemeinen vorgenommen, indem eine Authentifizierung zwischen einer Benutzervorrichtung und einem Inhalte-Anbieter, der einem Sender eines Inhalts entspricht, durchgeführt wird, bevor ein Inhalt oder ein Inhaltsschlüssel übertragen wird. In einem gewöhnlichen Authentifizierungsprozess wird, wenn der Benutzer als ein autorisierter Benutzer bestimmt ist, ein Sitzungsschlüssel erzeugt, der nur während der laufenden Kommunikation verwendet werden kann, und Daten, wie z. B. ein Inhalt oder ein Inhaltsschlüssel werden übertragen, nachdem diese mit Hilfe des Sitzungsschlüssels verschlüsselt worden sind. Eine Authentifizierung kann mit Hilfe der Kryptografie mit einem gemeinsamen Schlüssel oder der Kryptografie mit einem öffentlichen Schlüssel durchgeführt werden. In dem Fall, bei dem eine Authentifizierung mit Hilfe der Kryptografie mit einem gemeinsamen Schlüssel durchgeführt wird, wird ein gemeinsamer Schlüssel für eine systemweite Verwendung benötigt. Dies führt zu Schwierigkeiten bei der Erneuerung. Andererseits sind bei dem Fall, bei dem eine Kryptografie mit einem öffentlichen Schlüssel verwendet wird, nicht wünschenswerte komplexe Berechnungen erforderlich, die einen Speicher mit einer unerwünscht hohen Kapazität verwenden.
  • US Patent Nummer US-A-6,049,878 offenbart ein Informationsverarbeitungssystem für Multicasting-Inhalt, bei dem Inhalt von einer sendenden Einheit an mehrere Empfängereinheiten gesendet wird, von denen jede eine Teilnehmerschlüssel-Managementkomponente aufweist. Diese Komponente speichert einen ersten Schlüssel, der von der sendenden Einheit und allen Empfängereinheiten genutzt wird, und einen zweiten Schlüssel, der mit der sendenden Einheit und weniger als allen der Empfängereinheiten gemeinsam genutzt wird. Eine Gruppenschlüssel-Managementkomponente mit einer Datenstruktur eines binären Schlüssels speichert jeden der Schlüssel.
  • Waldvogel M. et. al.: „THe VersaKey Framework: Versatile Key Group Management" IEEE Journal at Selected Areas in Communications, Band 17, Nr. 9, September 1999, S. 1614–1631, XP002941560 offenbart ein Multicasting-System, bei dem ein binäres hierarchisches Schlüsselmanagement einer Übertragung von einer sendenden Einheit an Empfängereinheiten ausgeführt wird.
  • Die vorliegende Erfindung stellt ein Informationsverarbeitungssystem gemäß Anspruch 1, ein Informationsverarbeitungsverfahren gemäß Anspruch 3 und ein Programmspeichermedium gemäß Anspruch 6 zur Verfügung.
  • Eine bevorzugte Ausführungsform der vorliegenden Erfindung, die nachfolgend beschrieben wird, stellt eine Technik zum sicheren Übertragen von Daten nur an autorisierte Benutzer zur Verfügung, ohne eine gegenseitige Authentifizierung zwischen einem Sender und einem Empfänger durchzuführen, indem ein verschlüsselter Schlüsselblock verwendet wird, der gemeinsam in einem oder mehreren Kategoriebäumen, die als Unterbäume in einem hierarchischen Schlüsselverteilungsbaum verwendet (entschlüsselt) werden können.
  • Insbesondere stellt die bevorzugte Ausführungsform der vorliegenden Erfindung ein Informationsverarbeitungssystem, ein Informationsverarbeitungsverfahren und ein Informationsspeichermedium zur Verfügung, in denen ein Aktivierungsschlüsselblock (EKB), der verschlüsselte Schlüsseldaten enthält, die durch einen oder mehrer ausgewählte Kategorienbäume entschlüsselt werden können, erzeugt wird, wodurch es für Vorrichtungen, die zu einem der ausgewählten Kategorienbäumen gehören, möglich gemacht wird, den Aktivierungsschlüsselblock (EKB) zu verwenden, und eine EKB-Typ-Definitionsliste, die angibt, welcher EKB-Typ verarbeitet werden kann oder durch welchen Kategorienbaum entschlüsselt werden kann, wird verwendet, wodurch es möglich gemacht wird, die Erzeugung und das Management von Aktivierungsschlüsselblöcken (EKBs) in einer hoch effizienten Weise durchzuführen. Der EKB weist eine Signatur für die Datensicherheit auf.
  • Die bevorzugte Ausführungsform der vorliegenden Erfindung stellt ein Informationsverarbeitungssystem, ein Informationsverarbeitungsverfahren und ein Informationsspeichermedium zur Verfügung, in dem eine Mitteilung einer Änderung eines Zustandes eines Kategorienbaums, der in der Lage ist, einen EKB zu verarbeiten, der in einer EKB-Typ-Definitionsliste identifiziert wird, an eine Einheit gesendet wird, die den EKB verwendet, wodurch es möglich gemacht wird, die neueste EKB-Typ-Definitionsinformation bei der Verarbeitung zu verwenden.
  • Von einem weiteren Aspekt aus gesehen stellt die bevorzugte Ausführungsform der vorliegenden Erfindung ein Informationsverarbeitungssystem, ein Informationsverarbeitungsverfahren und ein Informationsspeichermedium zur Verfügung, indem ein Schlüsselblock mit Hilfe einer Schlüsselverteilungstechnik für einen hierarchischen Baum abhängig von einer Vorrichtung, für die ein Inhalt bereitgestellt werden soll, erzeugt wird, und der Schlüsselblock wird bei der Verschlüsselung des Inhalts verwendet und auch bei der Übertragung eines Inhaltschlüssels, wodurch sichergestellt wird, dass der Inhalt, der Inhaltsschlüssel und weitere Daten sicher bereitgestellt werden.
  • In der bevorzugten Ausführungsform der vorliegenden Erfindung wird durch Verwenden der Baumverteilungstechnik für Verschlüsselungsschlüssel anhand einer hierarchischen Baumstruktur, in der Vorrichtungen Blätter eines m-ären Baumes zugeordnet sind, ein Inhaltsschlüssel, der als ein Verschlüsselungsschlüssel eines Inhalts verwendet wird, eine Authentifizierungsschlüssel, der bei der Authentifizierung verwendet wird, oder ein Programmcode gemeinsam mit einem Aktivierungsschlüsselblock übertragen.
  • Weiterhin wird die Datengröße des Aktivierungsschlüsselblocks durch Verwenden eines Datenformates reduziert, das einen verschlüsselten Schlüsseldatenabschnitt und einen Tag-Teil enthält, der die Positionen der verschlüsselten Schlüssel angibt, wodurch es möglich gemacht wird, eine Entschlüsselung einfach und schnell durchzuführen. D. h., Daten werden in einer verschlüsselten Form erzeugt, die nur durch eine autorisierte Vorrichtung entschlüsselt werden kann, wobei die Daten der autorisierten Vorrichtung sicher bereitgestellt werden.
  • Weiterhin wird ein Aktivierungsschlüsselblock (EKB) so erzeugt, dass er die verschlüsselten Schlüsseldaten umfasst, die in einem oder mehreren ausgewählten Kategorienbäumen entschlüsselt werden kann, wodurch es für jede Vorrichtung möglich gemacht wird, die zu einem von diesen ausgewählten Kategorienbäumen gehört, den Aktivierungsschlüsselblock (EKB) zu verwenden. Der EKB wird in einer hoch effizienten Weise mit Hilfe der EKB-Typ-Definitionsliste, die darstellt, welche EKB verarbeitet oder in welchem Kategorienbaum entschlüsselt werden kann, erzeugt und gemanagt.
  • Ein Programmspeichermedium gemäß der vorliegenden Erfindung entspricht einem Medium, das ein Computerprogramm in einer computerlesbaren Form für ein gängiges Computersystem, der verschiedene Programmcodes ausführen kann, zur Verfügung stellt. Das Medium ist nicht auf einen bestimmten Typ begrenzt, sondern es können verschiedene Typen von Medien, z. B. ein Speichermedium, wie z. B. eine CD, FD oder MD oder ein Übertragungsmedium, wie z. B. ein Netzwerk verwendet werden.
  • Das Programmspeichermedium definiert eine kooperative Beziehung in Struktur oder Funktion zum Realisieren einer Funktion eines bestimmten Computerprogramms auf einem Computersystem zwischen dem Computerprogramm und dem Speichermedium. Das heißt, durch Installieren eines bestimmten Computerprogramms auf einem Computersystem mit Hilfe eines Programmspeichermediums wird es möglich, eine kooperative Arbeitsweise auf dem Computersystem zu erreichen, wodurch Funktionen ähnlich zu denjenigen, die durch andere Aspekte der vorliegenden Erfindung erreicht werden, erreicht werden.
  • In der vorliegenden Beschreibung wird der Ausdruck „System" verwendet, um eine logische Ansammlung von mehreren Vorrichtungen zu beschreiben, und es ist nicht notwendigerweise erforderlich, dass die mehreren Vorrichtungen in einem einzelnen Gehäuse angeordnet sind.
  • Die vorliegende Erfindung wird aus der nachfolgenden ausführlichen Beschreibung von Ausführungsformen mit Bezug zu den beigefügten Zeichnungen offensichtlicher, in denen:
  • 1 ein Diagramm zeigt, das ein Beispiel eines Informationsverarbeitungssystems gemäß der vorliegenden Erfindung darstellt.
  • 2 ein Blockdiagramm zeigt, das ein Beispiel eines Aufzeichnungs-/Wiedergabegeräts darstellt, das in dem Informationsverarbeitungssystem gemäß der vorliegenden Erfindung verwendet wird.
  • 3 ein Baumstrukturdiagramm zeigt, das verschiedene Schlüssel und einen Prozess zum Verschlüsseln von Daten darstellt, die in dem Informationsverarbeitungssystem gemäß der vorliegenden Erfindung verwendet oder ausgeführt werden.
  • 4 ein Diagramm zeigt, das ein Beispiel eines Aktivierungsschlüsselblocks (EKB) darstellt, der verwendet wird, um verschiedene Schlüssel und Daten in dem Informationsverarbeitungssystem gemäß der vorliegenden Erfindung zu verteilen.
  • 5 ein Diagramm zeigt, das ein Beispiel einer Weise des Verteilens eines Inhaltsschlüssels mit Hilfe eines Aktivierungsschlüsselblocks (EKB) darstellt und ein Beispiel eines Entschlüsselungsprozesses in dem Informationsverarbeitungssystem gemäß der vorliegenden Erfindung darstellt.
  • 6 ein Diagramm zeigt, das ein Beispiel eines Formats eines Aktivierungsschlüsselblockes (EKB) darstellt, der in dem Informationsverarbeitungssystem gemäß der vorliegenden Erfindung verwendet wird.
  • 7 ein Diagramm zeigt, das Tags in einem Aktivierungsschlüsselblock (EKB) darstellt, der in dem Informationsverarbeitungssystem gemäß der vorliegenden Erfindung verwendet wird.
  • 8 ein Diagramm zeigt, das ein Beispiel eines Datenformates, das verwendet wird, um einen Aktivierungsschlüsselblock (EKB) gemeinsam mit einem Inhaltsschlüssel und einem Inhalt zu verteilen, in dem Verarbeitungssystem gemäß der vorliegenden Erfindung darstellt.
  • 9 ein Diagramm zeigt, das ein Beispiel eines Prozesses, der durch eine Vorrichtung ausgeführt wird, in einem Fall, bei dem ein Aktivierungsschlüsselblock (EKB) gemeinsam mit einem Inhaltsschlüssel und einem Inhalt verteilt wird, in dem Verarbeitungssystem gemäß der vorliegenden Erfindung darstellt.
  • 10 ein Diagramm zeigt, das eine Entsprechung zwischen einem Aktivierungsschlüsselblock (EKB) und einem Inhalt für einen Fall, in dem ein Aktivierungsschlüsselblock (EKB) und Inhalte auf einem Speichermedium gespeichert werden, in dem Informationsverarbeitungssystem gemäß der vorliegenden Erfindung darstellt.
  • 11 ein Diagramm zeigt, das einen Prozess des Verteilens eines Inhalts mit Hilfe eines Aktivierungsschlüsselblocks (EKB) in dem Informationsverarbeitungssystem gemäß der vorliegenden Erfindung darstellt, wobei zum Zwecke des Vergleichs ein Prozess des Verteilens eines Inhalts gemäß einer herkömmlichen Technik ebenfalls gezeigt ist.
  • 12 ein Diagramm zeigt, das ein Verfahrensablauf für eine Authentifizierung mit Hilfe einer Kryptografietechnik mit einem gemeinsamen Schlüssel, die in dem Informationsverarbeitungssystem ausgeführt wird, gemäß der vorliegenden Erfindung darstellt.
  • 13 ein Diagramm, das (ein erstes Beispiel) ein(es) Datenformat(s), das verwendet wird, um einen Aktivierungsschlüsselblock (EKB) gemeinsam mit einem Authentifizierungsschlüssel zu verteilen, in dem Informationsverarbeitungssystem gemäß der vorliegenden Erfindung darstellt, und ein Beispiel eines Prozesses zeigt, der durch eine Vorrichtung ausgeführt wird.
  • 14 zeigt ein Diagramm, das (ein zweites Beispiel) ein(es) Datenformat(s) in dem Informationsverarbeitungssystem gemäß der vorliegenden Erfindung darstellt, das verwendet wird, um einen Aktivierungsschlüsselblock (EKB) gemeinsam mit einem Authentifizierungsschlüssel zu verteilen, und ein Beispiel eines Prozesses, der durch eine Vorrichtung ausgeführt wird.
  • 15 zeigt ein Diagramm, das einen Verfahrensablauf für eine Authentifizierung mit Hilfe einer Kryptografietechnik mit einem öffentlichen Schlüssel darstellt, die in dem Informationsverarbeitungssystem gemäß der vorliegenden Erfindung ausgeführt wird.
  • 16 ein Diagramm zeigt, das einen Prozess des Übertragens eines Aktivierungsschlüsselblockes (EKB) gemeinsam mit einem Inhaltsschlüssel, das eine Authentifizierung mit Hilfe einer Kryptografietechnik und einem öffentlichen Schlüssel verwendet, in dem Verarbeitungssystem gemäß der vorliegenden Erfindung darstellt.
  • 17 ein Diagramm zeigt, das einen Prozess des Übertragens eines Aktivierungsschlüsselblockes (EKB) in dem Verarbeitungssystem der vorliegenden Erfindung gemeinsam mit verschlüsselten Programmdaten darstellt.
  • 18 ein Diagramm zeigt, das ein Beispiel eines Prozesses des Erzeugens eines MAC-Wertes in dem Informationsverarbeitungssystem gemäß der vorliegenden Erfindung darstellt, wobei der MAC-Wert verwendet wird, um einen Inhaltsintegritätsprüfwert (ICV) zu erzeugen.
  • 19 ein Diagramm zeigt, das (ein erstes Beispiel) ein(es) Datenformat(s) in dem Informationsverarbeitungssystem gemäß der vorliegenden Erfindung darstellt, wobei das Datenformat verwendet wird, um einen Aktivierungsschlüsselblock (EKB) gemeinsam mit einem ICV-Erzeugungsschlüssel zu übertragen.
  • 20 ein Diagramm zeigt, das (ein zweites Beispiel) ein(es) Datenformat(s) in dem Informationsverarbeitungssystem gemäß der vorliegenden Erfindung darstellt, wobei das Datenformat verwendet wird, um einen Aktivierungsschlüsselblock (EKB) gemeinsam mit einem ICV-Erzeugungsschlüssel zu übertragen.
  • 21 ein Diagramm zeigt, das ein Verfahren zum Verhindern, dass Daten kopiert werden, in einem Informationsverarbeitungssystem gemäß der vorliegenden Erfindung darstellt, indem ein Integritätsprüfwert (ICV) auf einem Medium gespeichert wird.
  • 22 ein Diagramm zeigt, das ein Verfahren zum Managen eines Inhaltsintegritätsprüfwertes (IDV) getrennt von einem Inhaltsspeichermedium in dem Informationsverarbeitungssystem gemäß der vorliegenden Erfindung darstellt.
  • 23 ein Diagramm zeigt, das ein Beispiel einer Kategoriesierung mit Hilfe von Kategorienunterbäumen in einer hierarchischen Baumstruktur in dem Informationsverarbeitungssystem gemäß der vorliegenden Erfindung darstellt.
  • 24 ein Diagramm zeigt, das einen Prozess des Erzeugens eines vereinfachten Aktivierungsschlüsselblockes (EKB) in dem Informationsverarbeitungssystem gemäß der vorliegenden Erfindung darstellt.
  • 25 ein Diagramm zeigt, das einen Prozess des Erzeugens eines Aktivierungsschlüsselblockes (EKB) in dem Informationsverarbeitungssystem gemäß der vorliegenden Erfindung darstellt.
  • 26 ein Diagramm zeigt, das (ein erstes Beispiel) einen/eines vereinfachten Aktivierungsschlüsselblock(s) (EKB) darstellt, der in dem Informationsverarbeitungssystem gemäß der vorliegenden Erfindung verwendet wird.
  • 27 ein Diagramm zeigt, das (ein zweites Beispiel) einen/eines vereinfachten Aktivierungsschlüsselblock(s) (EKB) darstellt, der in dem Informationsverarbeitungssystem gemäß der vorliegenden Erfindung verwendet wird.
  • 28 ein Diagramm zeigt, das eine Weise des Managens von Kategorienbäumen in einer hierarchischen Baumstruktur in dem Informationsverarbeitungssystem gemäß der vorliegenden Erfindung darstellt.
  • 29 ein Diagramm zeigt, das die ausführliche Art des Managens von Kategorienbäumen in einer hierarchischen Baumstruktur in dem Informationsverarbeitungssystem gemäß der vorliegenden Erfindung darstellt.
  • 30 ein Diagramm zeigt, das eine Art des Managens von Kategorienbäumen in einer hierarchischen Baumstruktur in dem Informationsverarbeitungssystem gemäß der vorliegenden Erfindung darstellt.
  • 31 ein Diagramm zeigt, das einen reservierten Knoten darstellt, der in den Managementkategorienbäumen in einer hierarchischen Baumstruktur in dem Informationsverarbeitungssystem gemäß der vorliegenden Erfindung verwendet wird.
  • 32 ein Diagramm zeigt, das einen Verfahrensablauf für eine neue Registrierung eines Kategorienbaums beim Management von Kategorienbäumen in einer hierarchischen Baumstruktur in dem Informationsverarbeitungssystem gemäß der vorliegenden Erfindung darstellt.
  • 33 ein Diagramm zeigt, das die Beziehung zwischen einem neuen Kategorienbaum und einem Kategorienbaum einer höheren Ebene beim Management von Kategorienbäumen in einer hierarchischen Baumstruktur in dem Informationsverarbeitungssystem gemäß der vorliegenden Erfindung darstellt.
  • 34 ein Diagramm zeigt, das in dem Informationsverarbeitungssystem gemäß der vorliegenden Erfindung einen Unter-EKB darstellt, der beim Management von Kategorienbäumen mit einer hierarchischen Baumstruktur verwendet wird.
  • 35 ein Diagramm zeigt, das in dem Informationsverarbeitungssystem gemäß der vorliegenden Erfindung einen Vorrichtungswiederherstellungsprozess darstellt, der beim Management von Kategorienbäumen mit einer hierarchischen Baumstruktur durchgeführt wird.
  • 36 ein Diagramm zeigt, das in dem Informationsverarbeitungssystem gemäß der vorliegenden Erfindung eine Vorrichtungswiederherstellungssequenz darstellt, die beim Management von Kategorienbäumen mit einer hierarchischen Baumstruktur ausgeführt wird.
  • 37 ein Diagramm zeigt, das in dem Informationsverarbeitungssystem gemäß der vorliegenden Erfindung einen Unter-EKB darstellt, der infolge der Ungültigerklärung einer Vorrichtung beim Management von Kategorienbäumen mit einer hierarchischen Baumstruktur erneuert wird.
  • 38 ein Diagramm zeigt, das in dem Informationsverarbeitungssystem gemäß der vorliegenden Erfindung einen Ungültigerklärungsprozess eines Kategorienbaums darstellt, der beim Management von Kategorienbäumen in der Form einer hierarchischen Baumstruktur ausgeführt wird.
  • 39 ein Diagramm zeigt, das in dem Informationsverarbeitungssystem gemäß der vorliegenden Erfindung einen Verfährensablauf für die Ungültigerklärung eines Kategorienbaums darstellt, die beim Management von Kategorienbäumen in der Form einer hierarchischen Baumstruktur ausgeführt wird.
  • 40 zeigt ein Diagramm, das die Beziehung zwischen einem für ungültig erklärten Kategorienbaum und einem Kategorienbaum einer höheren Ebene beim Management von Kategorienbäumen in der Form einer hierarchischen Baumstruktur in dem Informationsverarbeitungssystem gemäß der vorliegenden Erfindung darstellt.
  • 41 ein Diagramm zeigt, das das Einstellen von Fähigkeiten beim Management von Kategorienbäumen in der Form einer hierarchischen Baumstruktur in dem Informationsverarbeitungssystem gemäß der vorliegenden Erfindung darstellt.
  • 42 ein Diagramm zeigt, das das Einstellen von Fähigkeiten beim Management von Kategorienbäumen in der Form einer hierarchischen Baumstruktur in dem Informationsverarbeitungssystem gemäß der vorliegenden Erfindung darstellt.
  • 43 ein Diagramm zeigt, das eine Fähigkeiten-Managementtabelle darstellt, die von einer Schlüsselverteilungsstelle (KDC) in dem Informationsverarbeitungssystem gemäß der vorliegenden Erfindung gemanagt wird.
  • 44 ein Flussdiagramm des Prozesses des Erzeugens eines EKBs auf Basis einer Fähigkeiten-Managementtabelle zeigt, die von einer Schlüsselverteilungsstelle (KDC) in dem Informationsverarbeitungssystem gemäß der vorliegenden Erfindung gemanagt wird.
  • 45 ein Diagramm zeigt, das einen Fähigkeiten-Mitteilungsprozess in dem Informationsverarbeitungssystem gemäß der vorliegenden Erfindung darstellt, der ausgeführt wird, wenn ein neuer Kategorienbaum registriert wird.
  • 46 ein Diagramm zeigt, das einen Kategorienbaum darstellt, der in dem Informationsverarbeitungssystem gemäß der vorliegenden Erfindung verwendet wird.
  • 47 ein Diagramm zeigt, das in dem Informationsverarbeitungssystem gemäß der vorliegenden Erfindung Beispiele von Prozessen darstellt, die zwischen einem EKB-Anforderer, einer Schlüsselverteilungsstelle und einer Kategorieneinheit einer obersten Ebene (TLCE) ausgeführt wird.
  • 48 ein Diagramm zeigt, das ein Beispiel für Hardwarekonfigurationen eines EKB-Anforderers, einer Schlüsselverteilungsstelle und einer Kategorieneinheit einer obersten Ebene (TLCE) in dem Informationsverarbeitungssystem gemäß der vorliegenden Erfindung darstellt.
  • 49 ein Diagramm zeigt, das eine Vorrichtungsknotenschlüssel-(DNK-)Gruppe darstellt, die in einer Vorrichtung in dem Informationsverarbeitungssystem gemäß der vorliegenden Erfindung gespeichert wird.
  • 50 ein Diagramm zeigt, das ein Datenformat einer EKB-Typ-Definitionsliste darstellt, die in dem Informationsverarbeitungssystem gemäß der vorliegenden Erfindung verwendet wird.
  • 51 ein Flussdiagramm eines EKB-Typ-Registrierungsprozesses zeigt, der in dem Informationsverarbeitungssystem gemäß der vorliegenden Erfindung ausgeführt wird.
  • 52 ein Flussdiagramm eines Verfahrenablaufs für eine EKB-Typ-Ungültigerklärung zeigt, der in dem Informationsverarbeitungssystem gemäß der vorliegenden Erfindung ausgeführt wird.
  • 53 ein Flussdiagramm eines Verfahrensablaufs für eine Baumänderungsmitteilung zeigt, der in dem Informationsverarbeitungssystem gemäß der vorliegenden Erfindung ausgeführt wird.
  • 54 ein Flussdiagramm eines Verfahrensablaufs für eine EKB-Typ-Listenanforderung zeigt, der in dem Informationsverarbeitungssystem gemäß der vorliegenden Erfindung ausgeführt wird.
  • 55 ein Diagramm zeigt, das einen Unter-EKB Herstellungsprozess darstellt, der in dem Informationsverarbeitungssystem gemäß der vorliegenden Erfindung ausgeführt wird.
  • 56 ein Diagramm zeigt, das einen Unter-EKB Herstellungsprozess darstellt, der in dem Informationsverarbeitungssystem gemäß der vorliegenden Erfindung ausgeführt wird.
  • 57 ein Diagramm zeigt, das einen Prozess des Herstellens eines EKB darstellt, in dem Unter-EKB in dem Informationsverarbeitungssystem gemäß der vorliegenden Erfindung kombiniert werden.
  • 58 ein Diagramm zeigt, das einen Prozess des Herstellens eines Unter-EKB in einem Fall darstellt, bei dem eine für ungültig zu erklärende Vorrichtung in dem Informationsverarbeitungssystem gemäß der vorliegenden Erfindung vorhanden ist.
  • 59 ein Diagramm zeigt, das einen Prozess des Herstellens eines EKB, in dem Unter-EKBs in einem Fall, in dem eine für ungültig zu erklärende Vorrichtung vorhanden ist, in dem Informationsverarbeitungssystem gemäß der vorliegenden Erfindung darstellt.
  • 60 ein Diagramm zeigt, das ein Datenformat eines kombinierten EKB darstellt, der aus Unter-EKBs erzeugt wird, die in dem Informationsverarbeitungssystem gemäß der vorliegenden Erfindung verwendet werden.
  • 61 ein Diagramm zeigt, das ein Datenformat eines kombinierten EKB darstellt, der aus Unter-EKBs erzeugt wird, die in dem Informationsverarbeitungssystem gemäß der vorliegenden Erfindung verwendet werden.
  • 62 ein Diagramm zeigt, das ein Datenformat eines kombinierten EKB in dem Informationsverarbeitungssystem gemäß der vorliegenden Erfindung darstellt, wobei der kombinierte EKB aus Unter-EKBs in einem Fall erzeugt wird, bei dem eine für ungültig zu erklärende Vorrichtung vorhanden ist.
  • 63 ein Diagramm zeigt, das einen Verfahrensablauf für eine Ungültigerklärung in einem dem Datenverteilungssystem in dem Informationsverarbeitungssystem gemäß der vorliegenden Erfindung darstellt.
  • 64 ein Diagramm zeigt, das einen Verfahrensablauf für eine Ungültigerklärung in einem Aufzeichnungssystem in dem Informationsverarbeitungssystem gemäß der vorliegenden Erfindung darstellt.
  • Bester Ausführungsmodus für die Erfindung
  • Abriss des Systems
  • 1 zeigt ein Beispiel eines Inhalteverteilungssystems anhand eines Informationsverarbeitungssystems gemäß der vorliegenden Erfindung. Eine Vorrichtung auf der Inhaltesendeseite 10 überträgt einen Inhalt oder einen Inhaltsschlüssel in einer verschlüsselten Form an verschiedene Vorrichtungen auf einer Inhalteempfangsseite 20. Eine Vorrichtung auf der Empfangsseite 20 gibt Videodaten oder Audiodaten wieder oder führt ein Programm mit Hilfe des erhaltenen Inhalts oder des erhaltenen Inhaltsschlüssels aus, indem sie den empfangenen verschlüsselten Inhalt oder den verschlüsselten Inhaltsschlüssel entschlüsselt werden. Die Übertragung von Daten zwischen der Inhaltesendeseite 10 und der Inhalteempfangsseite 20 wird über ein Netzwerk, wie z. B. das Internet oder über ein verteilbares Speichermedium, wie z. B. eine DVD oder eine CD durchgeführt.
  • Bestimmte Beispiele von Sendeeinrichtungen, die auf der Inhaltesendeseite 10 verwendet werden, umfassen das Internet 11, Satellitensendungen 12, eine Telefonleitung 13 und ein Medium 14, wie z. B. eine DVD oder eine CD. Bestimmte Beispiele von Vorrichtungen auf der Inhalteempfangsseite 20 umfassen einen Personalcomputer (PC) 21, einen tragbaren Computer (PD) 22, eine tragbare Vorrichtung 23, wie z. B. ein tragbares Telefon oder ein PDA (Personal digital Assistent: Persönlicher digitaler Assistent), ein Aufzeichnungs-/Wiedergabegerät 24, wie z. B. ein DVD-Abspielgerät oder ein CD-Abspielgerät und ein Wiedergabegerät 25, wie z. B. ein Spieleendgerät. Die Vorrichtungen auf der Inhalteempfangsseite 20 können einen Inhalt erhalten, der der Inhaltesendeseite 10 gesendet wird, über eine Kommunikationseinrichtung, wie z. B. ein Netzwerk oder über ein Medium 30.
  • Vorrichtungsaufbau
  • 2 zeigt ein Blockdiagramm, das einen Aufbau eines Aufzeichnungs-/Wiedergabegeräts 100 darstellt, das einem Beispiel für Vorrichtungen auf der Inhalteempfangsseite 20, die in 1 gezeigt ist, entspricht. Das Aufzeichnungs-/Wiedergabegerät 100 umfasst eine Eingabe-/Ausgabeschnittstelle 120, einen MPEG (Moving Picture Experts Group) Codec 130, eine Eingabe-/Ausgabeschnittstelle 140 mit einem A/D- und D/A-Konverter 141, eine Kryptografieeinrichtung 150, einem ROM (Read only Memory: Nur-Lese-Speicher) 160, einer CPU (Zentralverarbeitungseinheit) 170, einen Speicher 180 und ein Laufwerk 190 zum Betreiben eines Speichermediums 195, wobei diese Teile miteinander über den Bus 110 verbunden sind.
  • Die Eingabe-/Ausgabeschnittstelle 120 empfängt ein digitales Signal, das einen Inhalt, wie z. B. Videodaten, Audiodaten oder in Programm, das von außerhalb bereitgestellt wird, darstellt und das empfangene digitale Signal über den Bus 110 ausgibt. Die Eingabe-/Ausgabeschnittstelle 120 empfängt auch ein digitales Signal über den Bus 110 und gibt das empfange digitale Signal nach außen aus. Der MPEG-Codec 130 MPEG-decodiert MPEG-codierte Daten, die über den Bus 110 bereitgestellt werden, und gibt die erhaltenen decodierten Daten an die Eingabe-/Ausgabeschnittstelle 140 aus. Der MPEG-Codec 130 MPEG-codiert auch ein digitales Signal, das von der Eingabe-/Ausgabeschnittstelle 140 bereitgestellt wird und gibt das so erhaltene codierte Signal über den Bus 110 aus. Die Eingabe-/Ausgabeschnittstelle 140 umfasst den A/D- und D/A-Konverter 141. Die Eingabe-/Ausgabeschnittstelle 140 empfängt einen Inhalt in Form eines analogen Signals von außen und konvertiert diesen in digitale Form mit Hilfe des A/D- und D/A-Konverters 141. Das so erhaltene digitale Signal wird an den MPEG-Codec 130 ausgegeben. Wenn umgekehrt die Eingabe-/Ausgabeschnittstelle 140 ein digitales Signal von dem MPEG-Codec 130 empfängt, konvertiert die Eingabe-/Ausgabeschnittstelle 140 dieses in analoge Form mit Hilfe des A/D- und D/A-Konverters 141 und gibt das resultierende analoge Signal nach außen aus.
  • Die Kryptografieeinrichtung 150 ist z. B. mit einem Einchip LSI (Hochintegrierter integrierter Schaltkreis) gebildet, so das dieser einem Verschlüsseln/Entschlüsseln eines Digitale-Inhalte-Signals, das über den Bus 110 bereitgestellt wird, dient und auch dazu dient, eine Authentifizierung durchzuführen. Die so erhaltenen verschlüsselten/entschlüsselten Daten werden über den Bus 110 ausgegeben. Die Kryptografieeinrichtung 150 kann nicht nur mit Hilfe eines Einchip LSI realisiert werden, sondern kann auch durch Software oder in einer Kombination von Software und Hardware realisiert werden. Eine bestimmte Weise zum Bilden der Kryptografieeinrichtung 150 mit Hilfe von Software wird später beschrieben.
  • Das ROM 160 speichert Programmdaten, die von dem Aufzeichnungs-/Wiedergabegerät verwendet werden. Die CPU 170 steuert verschiedene Teile, wie z. B. den MPEG-Codec 130 und die Kryptografieeinrichtung 150, indem das in dem ROM 160 oder dem Speicher 180 gespeicherte Programm ausgeführt wird. Der Speicher 180 kann z. B. mit Hilfe eines nicht flüchtigen Speichers realisiert werden, um so das Programm, das von der CPU 170 ausgeführt wird, oder Daten, die von CPU 170 verwendet werden, zu speichern. Schlüsselgruppen, die in dem Verschlüsselungs-/Verschlüsselungsprozess, der durch die Vorrichtung ausgeführt wird, verwendet werden, werden auch in dem Speicher 180 gespeichert. Die Schlüsselgruppen werden später beschrieben. Das Laufwerk 190 liest (wiedergibt) digitale Daten aus dem Speichermedium 195, indem das Speichermedium 195, das digitale Daten speichern und wiedergeben kann, betrieben wird, und das Laufwerk 190 gibt die ausgelesenen digitalen Daten über den Bus 110 aus. Wenn umgekehrt digitale Daten über den Bus 110 empfangen werden, liefert das Laufwerk 190 die empfangen Daten an das Speichermedium 195, so dass die digitalen Daten auf dem Speichermedium 195 gespeichert werden.
  • Das Speichermedium 195 entspricht einem Medium, das digitale Daten speichern kann, und bestimmte Beispiele dafür umfassen eine optische Platte, wie z. B. eine DVD oder eine CD, eine magneto-optische Platte, eine Magnetplatte, ein Magnetband oder einen Halbleiterspeicher, wie z. B. ein RAM. In der vorliegenden Ausführungsform wird angenommen, dass das Speichermedium 195 herausnehmbar in dem Laufwerk 190 angebracht wird, obwohl das Speichermedium 195 in festgelegter Weise in dem Aufzeichnungs-/Wiedergabegerät 100 angeordnet sein kann.
  • Die Kryptografieeinrichtung 150, die in 2 gezeigt ist, kann mit Hilfe eines Einchip LSI oder mit Hilfe von Software oder mit einer Kombination von Software und Hardware realisiert werden.
  • [Verteilungsschlüssel auf der Basis einer Baumstruktur]
  • Eine Weise zum Zuordnen eines Verschlüsselungsschlüssels zu jeder Vorrichtung und eine Weise des Verteilens von Daten wird nachfolgend für einen Fall beschrieben, in dem verschlüsselte Daten von einer Vorrichtung auf der Übertragungsseite 10 an eine Vorrichtung auf der Empfangsseite 20, die in 1 gezeigt ist, übertragen werden.
  • In 3 geben die Zahlen von 0–15 unten entsprechende Vorrichtungen auf der Inhaltsempfangsseite 20 an. Das heißt, Blätter in der hierarchischen Baumstruktur, die in 3 gezeigt ist, geben entsprechende Vorrichtungen an.
  • Wenn die Vorrichtungen 0–15 hergestellt oder ausgeliefert werden oder auch einige Zeit danach, wird eine Schlüsselgruppe, die einen Blattschlüssel, der einem Blatt zugeordnet ist, das einer Vorrichtung entspricht, und auch Knotenschlüssel umfasst, die entsprechenden Knoten zugeordnet sind, die in dem Pfad von dem Blatt zur Wurzel in der hierarchischen Baumstruktur, die in 3 gezeigt ist, vorhanden sind, in jeder Vorrichtung gespeichert. K0000–K1111, die unten in 3 gezeigt sind, bezeichnen Blattschlüssel, die den entsprechenden Vorrichtungen 0–15 zugeordnet sind, und KR–K111 auf Ebenen von der obersten Ebene zur zweiten Ebene, gezählt von unten, bezeichnen Knotenschlüssel.
  • In der Baumstruktur, die in 3 gezeigt ist, weist z. B. eine Vorrichtung 0 einen Blattschlüssel K0000 und Knotenschlüssel K000, K00, K0 und KR auf. Auf ähnliche Weise weist eine Vorrichtung 5 K0101, K010, K01, K0 und KR auf. Auf ähnliche Weise weist eine Vorrichtung 5 K0101, K010, K01, K0 und KR und eine Vorrichtung 15 K1111, K111, K11, K1 und KR auf. Obwohl in dem bestimmten in 3 gezeigten Beispiel der Baum nur 16 Vorrichtungen 0–15 umfasst, und der Baum eine symmetrische Vier-Ebenen-Struktur aufweist, kann der Baum eine größere Anzahl von Vorrichtungen und eine von vier verschiedene Anzahl von Ebenen aufweisen.
  • Jede Vorrichtung in der Baumstruktur, die in 3 gezeigt ist, kann verschiedenen Typen entsprechen, die verschiedene Typen von Speichermedien, wie ein Speichermedium, das fest in einer Vorrichtung angeordnet ist, oder ein herausnehmbares Speichermedium, wie z. B. eine DVD, eine CD, eine MD oder einen Flashspeicher verwenden kann. Weiterhin können verschiedene Typen von Anwendungsdiensten über diese Baumstruktur vorgesehen werden. Das heißt, die hierarchische Baumstruktur zur Verwendung bei der Verteilung von Inhalten oder Inhaltsschlüsseln, wie z. B. diejenige, die in 3 gezeigt ist, wird so ausgebildet, um an verschiedene Typen von Vorrichtungen und verschiedene Typen von Anwendungen angepasst zu werden.
  • Bei einem System mit solchen verschiedenen Typen von Vorrichtungen und verschiedenen Typen von Anwendungen sind deren Teile in geeigneter Weise gruppiert. Zum Beispiel wird in 3 ein Teil, das durch eine gepunktete Linie umschlossen ist, als eine Gruppe festgelegt, die die Vorrichtungen 0, 1, 2 und 3 umfasst, die den gleichen Typ von Speichermedium verwenden. Für die in dieser Gruppe enthaltenen Vorrichtungen, die durch die gepunktete Linie umschlossen sind, kann ein gemeinsamer Inhalt in einer verschlüsselten Form von einem Anbieter oder ein Inhaltsschlüssel, der durch alle Vorrichtungen in der Gruppe verwendet werden kann, gleichzeitig übertragen werden. Jede Vorrichtung in der Gruppe überträgt Inhaltsbezahldaten in einer verschlüsselten Form an einen Anbieter oder eine Abrechnungsstelle. Wenn Inhalte-Anbieter oder Institutionen, wie z. B. eine Abrechnungsstelle Daten an Vorrichtungen übertragen, können sie Daten zur gleichen Zeit an alle Vorrichtungen 0, 1, 2 und 3 in der Gruppe, die durch die gepunktete Linie in 3 umschlossen sind, übertragen. Der Baum, der in 3 gezeigt ist, kann mehrere solcher Gruppen umfassen. Inhalte-Anbieter oder Institutionen, wie z. B. eine Abrechnungsstelle, die Daten an Vorrichtungen übertragen und von diesen empfangen, arbeiten als Verteilungseinrichtungen für Mitteilungsdaten.
  • Alle Knotenschlüssel und Blattschlüssel können in einheitlicher Weise durch eine Schlüsselverteilungsstelle gemanagt werden, oder Knotenschlüssel und Blattschlüssel können auf einer Gruppe-zu-Gruppen-Basis durch eine Mitteilungsdatenverteilungseinrichtung, wie z. B. Anbieter oder Abrechnungsstellen gemanagt werden, die Daten an die entsprechenden Gruppen übertragen und von diesen empfangen. In einem Fall, bei dem die Vertraulichkeit eines Schlüssels verletzt ist, werden Knotenschlüssel und Blattschlüssel durch die Schlüsselverteilungsstelle, die Anbieter oder die Abrechnungsstellen erneuert.
  • In der vorliegenden Baumstruktur, die man in 3 sehen kann, weisen alle drei Vorrichtungen 0, 1, 2 und 3, die in einer Gruppe enthalten sind, gemeinsame Knotenschlüssel K00, K0 und KR auf. Die Verwendung solcher gemeinsamer Knotenschlüssel macht es möglich, z. B. einen gemeinsamen Inhaltsschlüssel nur den Vorrichtungen 0, 1, 2 und 3 bereitzustellen. Wenn z. B. der Knotenschlüssel K00, der durch alle Vorrichtungen 0, 1, 2 und 3 gespeichert ist, als ein Inhaltsschlüssel verwendet wird, ist es möglich, den Inhaltsschlüssel, der gemeinsam nur durch die Vorrichtungen 0, 1, 2 und 3 verwendet wird, bereitzustellen, ohne dass ein zusätzlicher Schlüsselübertragungsprozess notwendig wird. Wenn ein Inhaltesschlüssel Kcon mit Hilfe des Knotenschlüssels K00 verschlüsselt wird und ein Wert Enc (K00, Kcon), der als Ergebnis einer Verschlüsselung erhalten wird, an die Vorrichtungen 0, 1, 2 und 3 über ein Netzwerk oder ein Speichermedium verteilt wird, können nur die Vorrichtungen 0, 1, 2 und 3 den Inhaltsschlüssel Kcon durch Entschlüsseln des Verschlüsselungswertes Enc (K00, Kcon) mit Hilfe des Knotenschlüssels K00, der gemeinsam durch diese Vorrichtungen gespeichert wird, erhalten. Hierin bezeichnet der Enc (Ka, Kb) Daten, die man durch Verschlüsseln von Kb mit Hilfe Ka erhält.
  • Wenn sich zu einem Zeitpunkt t herausstellt, dass die Schlüssel K0011, K001, K00, K0 und KR, die durch die Vorrichtung 3 gespeichert werden, durch einen Hacker analysiert worden sind und die Vertraulichkeit der Schlüssel verletzt worden ist, ist es notwendig, die Vorrichtung 3 von dem System zu trennen, um in dem System übertragene oder empfangene Daten zu schützen (Gruppe mit den Vorrichtungen 0, 1, 2 und 3). Zu diesem Zweck müssen die Knotenschlüssel K01, K00, K0 und KR in neue Schlüssel K(t)001, K(t)00, K(t)0, K(t)R geändert werden und die neuen Schlüssel an die Vorrichtungen 0, 1 und 2 übertragen werden. Hierin bezeichnet K(t)aaa einen erneuerten Schlüssel der Erzeugung von t, den man durch Erneuern eines Schlüssels Kaaa erhält.
  • Die Verteilung von erneuerten Schlüsseln wird nachfolgend beschrieben. Die Erneuerung von Schlüssel wird erreicht, indem eine Tabelle, die Blockdaten darstellt und die als Aktivierungsschlüsselblock (EKB) bezeichnet wird, bereitgestellt wird, wie die, die in 4(A) gezeigt ist, an die Vorrichtungen 0, 1 und 2 über Netzwerk oder ein Speichermedium bereitgestellt wird. Der Aktivierungsschlüsselblock (EKB) umfasst verschlüsselte neue Schlüssel, die an die Vorrichtungen, die den Blättern in der Baumstruktur, die in 3 gezeigt ist, entsprechen, verteilt werden sollen. Der Aktivierungsschlüsselblock (EKB) wird auch Schlüsselerneuerungsblock (KRB) genannt.
  • Der Aktivierungsschlüsselblock (EKB), der in 4(A) gezeigt wird, umfasst Blockdaten, die zur Erneuerung der Schlüssel nur durch Vorrichtungen, die die Erneuerung von Knotenschlüsseln benötigen, verwendet werden. In dem bestimmten in 4 gezeigten Beispiel, werden die Blockdaten zum Zwecke des Verteilens von erneuerten Knotenschlüsseln der Erzeugung von t an die Vorrichtungen 0, 1 und 2 in der Baumstruktur, die in 3 gezeigt ist, erzeugt. Wie in 3 gesehen werden kann, benötigen die Vorrichtungen 0 und 1 K(t)00, K(t)0 und K(t)R als erneuerte Knotenschlüssel, und die Vorrichtung 2 benötigt K(t)001, K(t)00, K(t)0 und K(t)R als erneuerte Knotenschlüssel.
  • Wie man aus 4(A) erkennen kann, umfasst der EKB mehrere verschlüsselte Schlüssel. Als verschlüsselten Schlüssel Enc (K0010, K(t)001), der unten beschrieben ist, wird durch Verschlüsseln des erneuerten Knotenschlüssels K(t)001 durch den Blattschlüssel K0010, der in der Vorrichtung 2 gespeichert ist, erzeugt, und somit kann die Vorrichtung 2 den erneuerten Knotenschlüssel K(t)001 durch Entschlüsseln von Enc (K0010, K(t)001) mit Hilfe des Blattschlüssels der Vorrichtung 2 erhalten. Mit Hilfe dieses erneuerten Knotenschlüssels K(t)001, den man über eine Entschlüsselung erhält, kann ein verschlüsselter Schlüssel Enc (K(t)001, K(t)00) in der zweiten Reihe von unten in 4(A) zu dem erneuerten Knotenschlüssel K(t)00 entschlüsselt werden. Auf ähnliche Weise kann der verschlüsselte Schlüssel Enc (K(t)00, K(t)0) in der zweiten Reihe von oben in 4(A) zu dem erneuerten Knotenschlüssel K(t)0 entschlüsselt werden, und ein verschlüsselter Schlüssel Enc (K(t)0, K(t)R) unten in 4(A) kann zu K(t)R entschlüsselt werden. Andererseits muss der Knotenschlüssel K000 für die Vorrichtungen K0000 und K0001 nicht erneuert werden, und somit werden nur erneuerte Schlüssel K(t)00, K(t)0 und K(t)R für die Vorrichtungen K0000 und K0001 benötigt. Die Vorrichtungen K0000 und K0001 erhalten K(t)00 nur durch Entschlüsseln eines verschlüsselten Schlüssels Enc (K000, K(t)00) in der dritten Reihe von oben in 4(A) und erhalten den erneuerten Knotenschlüssel K(t)0 durch Entschlüsseln des verschlüsselten Schlüssels Enc (K(t)00, K(t)0) in der zweiten Reihe von oben in 4(A). Weiterhin erhält man K(t)R durch Entschlüsseln des verschlüsselten Schlüssels Enc (K(t)0, K(t)R) in der obersten Zeile in 4(A). Auf diese Weise können die Vorrichtungen 0, 1 und 2 den erneuerten Schlüssel K(t)R erhalten. In 4(A) geben Indizes die absolute Adresse der Knotenschlüssel und Blattschlüssel an, die als Entschlüsselungsschlüssel verwendet werden.
  • Bei einem Fall, bei dem die Knotenschlüssel K(t)0 und K(t)R in hohen Ebenen der Baumstruktur, die in 3 gezeigt ist, nicht erneuert werden müssen, sondern nur der Knotenschlüssel K00 erneuert werden muss, kann der Aktivierungsschlüsselblock (EKB) so ausgebildet werden, wie es in 4(B) gezeigt ist, wodurch der erneuerte Knotenschlüssel K(t)00 an die Vorrichtungen 0, 1 und 2 verteilt werden kann.
  • Der EKB, der in 4(B) gezeigt ist, kann verwendet werden, um einen neuen Inhaltsschlüssel, der gemeinsam durch eine bestimmte Gruppe verwendet werden soll, zu verteilen. Man nimmt z. B. an, dass die Vorrichtungen 0, 1, 2 und 3 in der Gruppe, die durch die gepunktete Linie in 3 umschlossen sind, einen bestimmten Typ von Speichermedium verwenden, und dass ein neuer gemeinsamer Inhaltsschlüssel K(t)con benötigt wird. In diesem Fall wird der erneuerte Inhaltsschlüssel K(t)con für die gemeinsame Verwendung mit Hilfe von K(t)00 verschlüsselt, der durch Erneuern des Knotenschlüssels K00, der gemeinsam durch die Vorrichtungen 0, 1, 2 und 3 verwendet wird, erhalten wird und den resultierenden verschlüsselten Daten Enc (K(t), K(t)con) werden gemeinsam mit dem EKB, der in 4(B) gezeigt ist, verteilt. Dieses Verteilungsverfahren ermöglicht es, dass Daten so verteilt werden, dass die verteilten Daten nicht durch eine andere Vorrichtung als die Vorrichtung 4 entschlüsselt werden können.
  • Das heißt, die Vorrichtungen 0, 1 und 2 können den Inhaltsschlüssel K(t)con, der zum Zeitpunkt t gültig ist, erhalten, indem die verschlüsselten Daten, die oben mit Hilfe K(t)00, der durch Verarbeitung des EKB erhalten werden kann, beschrieben werden, entschlüsselt werden.
  • [Verteilung des Inhaltsschlüssels mit Hilfe eines EKBs]
  • 5 zeigt ein bestimmtes Beispiel eines Prozesses, der durch die Vorrichtung 0 durchgeführt wird, um den Inhaltschlüssel K(t)con, der zum Zeitpunkt t gültig ist, aus den Daten Enc (K(t)00, K(t)con) zu erhalten, die durch Verschlüsseln des neuen gemeinsamen Inhaltsschlüssels K(t)con mit Hilfe von K(t)00 erzeugt worden sind und gemeinsam mit dem in 4(B) gezeigtem EKB an die Vorrichtung 0 über ein Speichermedium bereitgestellt werden. In diesem Fall entspricht der Inhaltsschlüssel K(t)con Nachrichtendaten, die durch den EKB verschlüsselt sind.
  • Wie in 5 gezeigt ist, erzeugt die Vorrichtung 0 den Knotenschlüssel K(t)00 durch die Verarbeitung des EKB der Erzeugung von t, der in dem Speichermedium gespeichert ist, mit Hilfe des Knotenschlüssels K000, der bereits durch die Vorrichtung 0 gespeichert wird, auf ähnliche Weise, wie oben beschrieben. Danach erhält man den erneuerten Inhaltsschlüssel K(t)con mit Hilfe eines Entschlüsselns mit Hilfe des erneuerten Knotenschlüssels K(t)00. Weiterhin wird der erneuerte Inhaltsschlüssel K(t)con mit Hilfe des Blattschlüssels K0000 verschlüsselt, der nur durch die Vorrichtung 0 gespeichert wird, so dass der Inhaltsschlüssel K(t)con jederzeit danach verwendet werden kann.
  • [Format des EKB]
  • 6 zeigt ein Beispiel eines Formats eines Aktivierungsschlüsselblocks (EKB). Eine Version 601 entspricht einem Identifizierer, der die Version des Aktivierungsschlüsselblocks (EKB) angibt. Die Version dient nicht nur zum Identifizieren des neuesten EKBs, sondern auch dazu, die Zuordnung zu Inhalten anzugeben. Die Tiefe gibt die Anzahl der Lagen eines hierarchischen Baumes von Vorrichtungen an, an die der Aktivierungsschlüsselblock (EKB) verteilt wird. Ein Daten-Zeiger 603 zeigt auf eine Position eines Datenfeldes in dem Aktivierungsschlüsselblock (EKB). Ein Tag-Zeiger 604 zeigt auf eine Position eines Tagfeldes und ein Signatur-Zeiger 605 zeigt auf eine Position einer Signatur.
  • Das Datenfeld 606 wird verwendet, um verschlüsselte Daten, wie z. B. einen erneuerten Knotenschlüssel zu speichern. Zum Beispiel werden Daten von verschlüsselten Schlüsseln, die dem erneuerten Knotenschlüssel zugeordnet sind, wie z.B. diejenigen, die in 5 gezeigt sind, in dem Datenfeld gespeichert.
  • Das Tagfeld 607 wird verwendet, um Tags zu speichern, die die Positionen der verschlüsselten Knotenschlüssel und Blattschlüssel angeben, die in dem Datenfeld gespeichert sind. Die Regel zum Bestimmen der Tags wird nachfolgend mit Bezug auf 7 beschrieben. In einem bestimmten Beispiel, das in 7 gezeigt ist, wird der Aktivierungsschlüsselblock (EKB), das oben mit Bezug zur 4(A) beschrieben worden ist, als die Daten übertragen. Eine Tabelle (b) in 7 zeigt die Daten, die in diesem besonderen Beispiel übertragen werden. Hierin wird auf die Adresse eines obersten Knoten in dem verschlüsselten Schlüssel als Oberste-Knoten-Adresse Bezug genommen. Weil in diesem Fall ein erneuerter Wurzelschlüssel K(t)R in den verschlüsselten Schlüsseln enthalten ist, wird die Oberste-Knoten-Adresse zu KR. Die Daten Enc (K(t)0, K(t)R) an der obersten Position entsprechen einer Position des hierarchischen Baumes, der in (a) der 7 gezeigt ist. Die Position in dem hierarchischen Baum für die nächsten Daten Enc (K(t)00, K(t)0) entspricht der unteren linken Position bezüglich der Position der vorangehenden Daten. Wenn dort Daten vorliegen, wird das Tag auf 0 gesetzt, während das Tag auf 1 gesetzt wird, wenn dort keine Daten vorliegen. Das Tag wird in Form {L-Tag, R-Tag} dargestellt, wobei L-Tag ein linkes Tag und R-Tag ein rechtes Tag bezeichnet. In dem Fall der Daten Enc (K(t)0, K(t)R) in der obersten Reihe liegen keine Daten links davon vor, und somit wird das L-Tag auf 0 gesetzt, während das R-Tag auf 1 gesetzt wird, weil keine Daten rechts davon vorliegen. Tags werden für alle Daten auf ähnliche Weise gesetzt. Als Ergebnis wird eine Datenfolge und eine Tag-Folge, wie in 7(c) gezeigt ist, erzeugt.
  • Die Tags geben die Positionen von Daten Enc (Kxxx, Kyyy), in der Baumstruktur an. Schlüsseldaten Enc (Kxxx, Kyyy), die in dem Datenfeld gespeichert sind, entsprechen einer einfachen Abfolge von verschlüsselten Schlüsseln, und somit werden die Tags verwendet, um in dem Baum die Positionen der in dem Datenfeld gespeicherten verschlüsselten Schlüssel anzugeben. Anstatt die Tags zu verwenden, können die Positionen in dem Baum dargestellt werden, indem Knotenindizes den entsprechenden verschlüsselten Daten hinzugefügt werden, wie zuvor mit Bezug auf 4 beschrieben worden ist. Insbesondere können die Knotenindizes wie folgt hinzugefügt werden.
    • 0: Enc (K(t)0, K(t)root)
    • 00: Enc (K(t)00, K(t)0)
    • 000: Enc (K(t)000, K(t)00) usw.
  • Jedoch führt das Verwenden der Indizes zur Redundanz in den Daten, und somit wird eine größere Datenmenge benötigt, um die Daten zu schreiben, was bei der Übertragung über ein Netzwerk nicht wünschenswert ist. Wenn im Gegensatz dazu die Tags als Indexdaten verwendet werden, die die Positionen von Schlüsseln angeben, können die Positionen der Schlüssel durch Daten mit einer kleineren Datengröße angegeben werden.
  • Mit Bezug auf 6 wird das Format des EKB weiter beschrieben. Eine Signatur entspricht einer digitalen Signatur, die von einer Schlüsselverteilungsstelle, einem Inhaltsanbieter oder einer Abrechnungsstelle, die den Aktivierungsschlüsselblock (EKB) ausgegeben hat, geschrieben wird. Wenn eine Vorrichtung den EKB empfängt, überprüft die Vorrichtung die Signatur, um festzustellen, ob der empfangene Aktivierungsschlüsselblock (EKB) einem Aktivierungsschlüsselblock entspricht, der von einem autorisierten Herausgeber für einen Aktivierungsschlüsselblock (EKB) ausgegeben worden ist.
  • [Verteilung eines Inhaltsschlüssels und eines Inhalts mit Hilfe eines EKB]
  • In dem oben beschriebenen Beispiel wird nur der Inhaltsschlüssel gemeinsam mit dem EKB übertragen. Ein Inhalt, der mit Hilfe eines Inhaltsschlüssels verschlüsselt wird, kann auch gemeinsam mit einem Inhaltsschlüssel übertragen werden, der mit Hilfe eines Inhaltsschlüsselverschlüsselungsschlüssels und dem Inhaltsschlüsselverschlüsselungsschlüssel verschlüsselt wird, der mit Hilfe eines EKB, wie nachfolgend beschrieben wird, verschlüsselt wird.
  • 8 zeigt ein Datenformat, das für den vorliegenden Zweck verwendet wird. In dem in 8(a) gezeigten Datenformat bezeichnet Enc (Kcon, Inhalt) 801 Daten, die durch Verschlüsseln des Inhalts mit Hilfe des Inhaltsschlüssels (kcon) erzeugt werden. Enc (KEK, Kcon) 802 entsprechen Daten, die durch Verschlüsseln des Inhaltsschlüssels (Kcon) mit Hilfe des Inhaltsschlüsselverschlüsselungsschlüssels (KEK) erzeugt werden. Enc (EKB, KEK) 803 bezeichnet Daten, die durch Verschlüsseln des Inhaltsschlüsselverschlüsselungsschlüssels KEK mit Hilfe des Aktivierungsschlüsselblocks (EKB) erzeugt werden.
  • Hierin kann der Knotenschlüssel (K000, K00 ...), der in 3 gezeigt ist, oder der Wurzelschlüssel (KR) als der Inhaltsschlüsselverschlüsselungsschlüssel KEK verwendet werden oder ein Schlüssel, der mit Hilfe des Knotenschlüssels (K000, K00, ...) oder dem Wurzelschlüssel (KR) verschlüsselt wird, angewendet werden.
  • 8(b) zeigt ein Datenformat, das verwendet werden kann, wenn mehrere Inhalte auf einem Medium gespeichert werden und alle Inhalte die gleichen verschlüsselten Daten Enc (EKB, KEK) 805 verwenden. In diesem Fall werden Daten, die auf Enc (EKB, KEK) zeigen, den entsprechenden Inhaltsdaten hinzugefügt, anstatt denselben Enc (EKB, KEK) den entsprechenden Inhaltsdaten hinzuzufügen.
  • 9 zeigt ein Beispiel, bei dem der Inhaltsschlüsselverschlüsselungsschlüssel KEK als ein erneuter Knotenschlüssel K(t)00, der anstelle des Knotenschlüssels K00, der in
  • 3 gezeigt ist, verwendet werden soll, verwendet wird. In dem Fall, bei dem die Vorrichtung 3 in der Gruppe, die durch die gepunktete Linie in 3 umschlossen ist, aufgrund einer Beeinträchtigung der Vertraulichkeit eines Schlüssels für ungültig erklärt worden ist, wenn der Aktivierungsschlüsselblock (EKB), der in 9(a) gezeigt ist, Daten, die durch Verschlüsseln des Inhaltsschlüssels (Kcon) mit Hilfe des Inhaltsschlüsselverschlüsselungsschlüssels (KEK = K(t)00), der in 9(b) gezeigt ist, erzeugt werden und Daten, die durch Verschlüsseln des Inhalts mit Hilfe des Inhaltsschlüssels (Kcon) erzeugt werden, anderen Teilnehmern der Gruppe bereitgestellt werden, d. h. den Vorrichtungen 0, 1 und 2, können die Vorrichtungen 0, 1 und 2 den Inhalt erhalten.
  • Ein Entschlüsselungsverfahren, das durch die Vorrichtung 0 durchgeführt wird, wird auf der rechten Seite der 9 gezeigt. Zuerst erhält die Vorrichtung 0 den Inhaltsschlüsselentschlüsselungsschlüssel (KEK = K(t)00) von dem empfangenen Aktivierungsschlüsselblock durch Durchführen eines Entschlüsselungsverfahrens mit Hilfe des Blattschlüssels K000, der in der Vorrichtung 0 gespeichert ist. Die Vorrichtung 0 erhält dann den Inhaltsschlüssel Kcon durch ein Entschlüsseln mit Hilfe K(t)00 und erhält schließlich den Inhalt mit Hilfe einer Entschlüsselung durch den Inhaltsschlüssel Kcon. Somit kann die Vorrichtung 0 den Inhalt erhalten. Auf ähnliche Weise können die Vorrichtungen 1 und 2 den Inhaltsschlüsselverschlüsselungsschlüssel (KEK = K(t)00) durch Verarbeitung des EKB gemäß ihrer eigenen Verfahren erhalten und können weiterhin den Inhalt erhalten.
  • Sogar wenn die Vorrichtungen 4, 5 und 6 usw. von anderen Gruppen, die in 3 gezeigt sind, ähnliche Daten (EKB) empfangen, können sie nicht den Inhaltsschlüsselverschlüsselungsschlüssel (KEK = K(t)00) mit Hilfe der Blattschlüssel oder Knotenschlüssel, die in ihnen gespeichert sind, erhalten. Die für ungültig erklärte Vorrichtung 3 kann ebenfalls nicht den Inhaltsschlüsselverschlüsselungsschlüssel (KEK = K(t)00) erhalten, der den Blattschlüssel oder den Knotenschlüssel, die durch die Vorrichtung 3 gespeichert sind, verwendet. Somit können nur autorisierte Vorrichtungen, die den Inhalt entschlüsseln und den entschlüsselten Inhalt verwenden.
  • Somit ermöglicht es das oben beschriebene Verfahren des Übertragens eines Inhaltsschlüssels mit Hilfe eines EKB, einen verschlüsselten Inhalt mit Hilfe einer kleinen Datenmenge sicher zu verteilen, so dass nur autorisierte Benutzer den verschlüsselten Inhalt entschlüsseln können.
  • In dem oben beschriebenen Beispiel werden der Aktivierungsschlüsselblock (EKB), der Inhaltsschlüssel und der verschlüsselte Inhalt sicher über das Netzwerk verteilt. Alternativ können der Aktivierungsschlüsselblock (EKB), der Inhaltsschlüssel und der verschlüsselte Inhalt auf einem Speichermedium, wie z. B. einer DVD oder einer CD gespeichert werden, und das Speichermedium kann einem Benutzer bereitgestellt werden, wodurch der Aktivierungsschlüsselblock (EKB), der Inhaltsschlüssel und der verschlüsselte Inhalt dem Benutzer bereitgestellt wird. Wenn in diesem Fall der verschlüsselte Inhalt und der Aktivierungsschlüsselblock (EKB) auf dem gleichen Speichermedium gespeichert werden, so dass der verschlüsselte Inhalt mit Hilfe des Inhaltsschlüssels, den man durch Entschlüsseln des Aktivierungsschlüsselblocks (EKB) erhalten kann, entschlüsselt werden kann, ist es möglich, ein einfaches Inhalteverteilungssystem zu realisieren, das es nur beschränkten autorisierten Benutzervorrichtungen ermöglicht, einen verteilten verschlüsselten Inhalt zu verwenden, indem dieser mit Hilfe eines Blattschlüssels oder Knotenschlüssels, die durch die Vorrichtungen des Benutzers gespeichert werden, entschlüsselt wird.
  • 10 zeigt ein Beispiel, in dem verschlüsselte Inhalte und Aktivierungsschlüsselblöcke (EKB) gemeinsam auf einem Speichermedium gespeichert sind. In diesem besonderen Beispiel, das in 10 gezeigt ist, werden die Inhalte C1–C4 auf einem Speichermedium gespeichert und Daten, die die Zuordnung zwischen den entsprechenden Inhalten und den Aktivierungsschlüsselblöcken (EKB) angeben, werden auf dem gleichen Speichermedium gespeichert, und weiterhin wird ein Aktivierungsschlüsselblock der Version M (EKB_M) ebenfalls gespeichert. Zum Beispiel wird EKB_1 verwendet, um einen Inhaltsschlüssel Kcon1, der verwendet wird, um den Inhalt C1 zu verschlüsseln, zu erzeugen, und EKB_2 wird verwendet, um einen Inhaltsschlüssel Kcon2, der zum Verschlüsseln des Inhalts C2 verwendet wird, zu erzeugen. Weil in diesem Beispiel der Aktivierungsschlüsselblock (EKB_M) der Version M auf dem Speichermedium gespeichert wird, und weil die Inhalte C3 und C4 dem Aktivierungsschlüsselblock (EKB_M) zugeordnet sind, ist es möglich, den Inhaltschlüssel für die Inhalte C3 und C4 durch Entschlüsseln des Aktivierungsschlüsselblocks (EKB_M) zu erhalten. Weil andererseits EKB_1 und EKB_2 nicht auf der Platte gespeichert werden, müssen diese über eine weitere Einrichtung, wie z. B. eine Netzwerkkommunikation in ein weiteres Speichermedium erhalten werden, um die Inhaltsschlüssel C1 und C2 zu entschlüsseln.
  • 11 zeigt einen Vergleich zwischen einem Prozess des Verteilens eines Inhaltsschlüssels mit Hilfe eines EKB und einem Prozess des Verteilens eines Inhaltsschlüssels gemäß der herkömmlichen Technik in einem Fall, in dem die Inhaltsschlüssel an mehrere Vorrichtungen verteilt werden. Die herkömmliche Technik ist in der oberen Hälfte (a) der 11 und die Technik mit Hilfe des Aktivierungsschlüsselblocks (EKB) gemäß der vorliegenden Erfindung in der unteren Hälfte (b) der 11 gezeigt. In 11 bezeichnet Ka(Kb) Daten, die durch Verschlüsseln von Kb mit Hilfe von Ka erzeugt werden.
  • Bei der herkömmlichen Technik, die in (a) gezeigt ist, wird eine Authentifizierung und ein Schlüsselaustausch (AKE) zwischen Vorrichtungen durchgeführt, um zu überprüfen, dass Sende- und Empfangsvorrichtungen autorisierte Vorrichtungen sind, und um einen Sitzungsschlüssel Kses zu erzeugen, der gemeinsam von beiden Vorrichtungen verwendet werden soll. Wenn und nur wenn die Authentifizierung erfolgreich durchgeführt wurde, wird ein Inhaltsschlüssel Kcon mit Hilfe des Sitzungsschlüssels Kses verschlüsselt und die resultierenden verschlüsselten Daten werden übertragen.
  • Zum Beispiel kann ein PC, der in 11(a) gezeigt ist, Kcon mit Hilfe eines Entschlüsselns des verschlüsselten Inhaltsschlüssels Kses (Kcon) mit Hilfe eines empfangenen Sitzungsschlüssels erhalten. Weiterhin kann der PC den erhaltenen Inhaltsschlüssel Kcon mit Hilfe eines Speicherschlüssels Kstr, der in dem PC gespeichert ist, verschlüsseln und die resultierenden verschlüsselten Daten in einen Speicher des PC speichern.
  • Sogar in einem Fall, bei dem Inhaltsanbieter Daten übertragen will, so dass nur eine Speichervorrichtung 1101, die in 11(a) gezeigt ist, die Daten verwenden kann, wenn ein PC und ein Wiedergabegerät zwischen dem Inhalte-Anbieter und der Speichervorrichtung 1101 vorhanden sind, ist es notwendig, eine Authentifizierung, wie in 11(a) gezeigt ist, durchzuführen und dann einen Inhaltsschlüssel, der mit Hilfe eines Sitzungsschlüssels verschlüsselt ist, zu übertragen. In diesem Fall können der PC und das Wiedergabegerät, die zwischen ihnen vorhanden sind, den Inhaltsschlüssel durch Entschlüsseln des verschlüsselten Inhaltsschlüssels mit Hilfe des Sitzungsschlüssels, der über den Authentifizierungsprozess erzeugt wird und der von dem PC und dem Wiedergabegerät erhalten wird, erhalten.
  • Andererseits kann in dem in der unteren Hälfte (b) der 11 gezeigten Beispiel, in dem ein Inhalte-Anbieter einen Aktivierungsschlüsselblock (EKB) und Daten (Kroot, Kcon) in dem besonderen in 11(b) gezeigten Beispiel, die durch Verschlüsseln eines Inhaltsschlüssels Kcon mit Hilfe eines Knotenschlüssels oder eines Wurzelschlüssels, die durch Verarbeitung des Aktivierungsschlüsselblockes (EKB) erhalten werden, erzeugt werden, nur eine Vorrichtung, die den empfangenen EKB verarbeiten kann, eine Entschlüsselung durchführen, um den Inhaltsschlüssel Kcon zu erhalten.
  • Wenn daher ein Aktivierungsschlüsselblock (EKB) so erzeugt wird, dass er nur durch eine Vorrichtung, die an dem rechten Ende in 11(b) angeordnet ist, verwendet werden kann, und wenn der Aktivierungsschlüsselblock (EKB) gemeinsam mit Daten übertragen werden, die durch Verschlüsseln eines Inhaltsschlüssels Kcon mit Hilfe eines Knotenschlüssels oder eines Wurzelschlüssels, der durch Verarbeitung des EKB erhalten werden kann, erzeugt werden, kann eine Vorrichtung, wie z. B. ein PC oder ein Wiedergabegerät, die zwischen dem Inhaltsanbieter und der Vorrichtung auf der rechten Seite vorhanden sind, den EKB nicht mit Hilfe des Blattschlüssels oder Knotenschlüssels, die in dem PC oder dem Wiedergabegerät gespeichert sind, verarbeiten. Es ist daher möglich, den Inhaltsschlüssel sicher zu übertragen, der nur von einer autorisieren Vorrichtung verwendet werden kann, ohne dass ein Prozess zwischen der sendenden und übertragenden Vorrichtung notwendig wird, wie z. B. eine Authentifizierung, eine Erzeugung eines Sitzungsschlüssels und ein Verschlüsseln des Inhaltsschlüssels Kcon mit Hilfe des Sitzungsschlüssels.
  • Wenn ein Inhaltsschlüssel so übertragen werden soll, dass er auch von dem PC und dem Wiedergabegerät verwendet werden kann, wenn ein Aktivierungsschlüsselblock (EKB) so erzeugt wird, dass er von jeder dieser Vorrichtungen verarbeitet werden kann, die für das Benutzen des Inhaltsschlüssels zugelassen werden sollen, und wenn der resultierende EKB übertragen wird, können diese Vorrichtungen den Inhaltsschlüssel erhalten.
  • [Verteilung eines Authentifizierungsschlüssels mit Hilfe eines Aktivierungsschlüsselblockes (EKB) (mit Hilfe einer Kryptografie mit einem gemeinsamen Schlüssel)]
  • Bei der Verteilung von Daten oder eines Schlüssels mit Hilfe eines Aktivierungsschlüsselblockes (EKB) gemäß der oben beschriebenen Technik werden der Aktivierungsschlüsselblock (EKB) sowie der Inhalt oder der Inhaltsschlüssel, die zwischen den Vorrichtungen übertragen werden, in derselben Form verschlüsselt. Daher besteht eine Möglichkeit, dass eine nicht autorisierte Kopie durch eine so genannte Widergabe-Angriffstechnik gemacht wird, bei der Daten gestohlen werden und durch Abgreifen einer Datenübertragungsleitung aufgezeichnet werden und die aufgezeichneten Daten nachfolgend übertragen werden. Um das nicht autorisierte Kopieren von Daten zu verhindern, ist es effektiv, eine Authentifizierung und einen Schlüsselaustausch wie bei der herkömmlichen Technik durchzuführen. Somit wird hierin eine Technik offenbart, bei der ein Authentifizierungsschlüssel Kake, der bei der Authentifizierung und dem Schlüsselaustauschen verwendet wird, an eine Vorrichtung übertragen wird, die einen Aktivierungsschlüsselblock (EKB) gemäß der oben beschriebenen Technik verwendet, wodurch es ermöglicht wird, dass der gemeinsame Authentifizierungsschlüssel als ein sicherer, geheimer Schlüssel verwendet wird, und wodurch ermöglicht wird, dass die Authentifizierung gemäß der Kryptografietechnik mit einem gemeinsamen Schlüsseldurchgeführt wird. Das heißt, dass bei dieser Technik wird der Authentifizierungsschlüssel als Nachrichtendaten, die durch einen EKB verschlüsselt sind, übertragen.
  • 12 zeigt ein gegenseitiges Authentifizierungsverfahren mit Hilfe einer Kryptografietechnik mit einem gemeinsamen Schlüssel gemäß ISO/IEC 9798-2.
  • In dem in 12 gezeigten Beispiel wird eine Kryptografietechnik mit einem gemeinsame Schlüssel, basierend auf dem DES verwendet, wobei eine weitere ähnliche Kryptografietechnik mit einem gemeinsame Schlüssel ebenfalls verwendet werden kann. In 12 erzeugt eine Vorrichtung B zunächst eine 64-Bit Zufallszahl Rb und überträgt Rb gemeinsam mit einem Identifzierer ID(b) der Vorrichtung B an eine Vorrichtung A. Als Antwort auf das Empfangen Rb und ID(b) erzeugt die Vorrichtung A eine 64-Bit Zufallszahl Ra und verschlüsselt Ra, Rb und ID(b) mit Hilfe eines Schlüssels Kab in dem CBC-Modus des DES in der Reihenfolge von Ra, Rb und ID(b). Die resultierenden verschlüsselten Daten werden der Vorrichtung B zurückgegeben. Hierin entspricht der Schlüssel Kab einem Schlüssel, der als geheimer Schlüssel gemeinsam durch die Vorrichtungen A und B verwendet wird, und der in einer Speichervorrichtung jeder der Vorrichtungen A und B gespeichert wird. Die Verschlüsselung mit Hilfe des Schlüssels Kab in dem CBC-Modus des DES kann wie folgt durchgeführt werden. In dem Prozess mit Hilfe des DES wird ein Exklusiv-Oder zwischen dem Anfangswert und Ra berechnet und das Ergebnis wird durch die DES-Verschlüsselungseinheit mit Hilfe eines Schlüssels Kab verschlüsselt, wodurch man verschlüsselte Daten E1 erhält. Das Exklusiv-Oder zwischen E1 und Rb wird berechnet und das Ergebnis wird durch die DES-Verschlüsselungseinheit mit Hilfe des Schlüssels Kab verschlüsselt, wodurch man die verschlüsselten Daten E2 erhält. Weiterhin wird das Exklusiv-Oder zwischen den verschlüsselten Daten E3 und ID(b) berechnet und das Ergebnis durch die DES-Verschlüsselungseinheit mit Hilfe des Schlüssels Kab verschlüsselt, wodurch man verschlüsselte Daten E3 erhält. Die erhaltenen verschlüsselten Daten E1–E3 (Token-AB) werden übertragen.
  • Wenn die Vorrichtung B die verschlüsselten Daten empfängt, entschlüsselt die Vorrichtung B die empfangenen Daten mit Hilfe des Schlüssels Kab (Authentifizierungsschlüssel) als der gemeinsam genutzte geheime Schlüssel. Insbesondere wird die Entschlüsselung der empfangenen Daten wie folgt durchgeführt. Zuerst werden die verschlüsselten Daten E1 mit Hilfe des Authentifizierungsschlüssels Kab entschlüsselt, um den Zufallswert Ra zu erhalten. Danach werden die verschlüsselten Daten E2 mit Hilfe des Authentifizierungsschlüssels Kab verschlüsselt. Rb erhält man durch Berechnen eines Exklusiv-Oders zwischen den resultierenden entschlüsselten Daten und E1. Schließlich werden die verschlüsselten Daten E3 mit Hilfe des Authentifizierungsschlüssels Kab entschlüsselt und ein Eklusiv-Oder zwischen den resultierenden entschlüsselten Daten und E2 wird berechnet, so dass man ID(b) erhält. Aus Ra, Rb und ID(b), die man durch den obigen Prozess erhält, werden Rb und ID(b) mit denjenigen, die von der Vorrichtung B übertragen worden sind, verglichen, um zu überprüfen, ob sie identisch sind. Wenn die Überprüfung positiv verläuft, stellt die Vorrichtung B fest, dass die Vorrichtung A eine autorisierte Vorrichtung ist.
  • Danach erzeugt die Vorrichtung B einen Sitzungsschlüssel (Kses), der nach der Authentifizierung verwendet wird (der Sitzungsschlüssel Kses wird mit Hilfe einer Zufallszahl erzeugt). Rb, Ra und Kses werden in dieser Reihenfolge mit Hilfe des Authentifizierungsschlüssel Kab in dem CBC-Modus des DES verschlüsselt und an die Vorrichtung A übertragen.
  • Nach dem Empfangen der Daten entschlüsselt die Vorrichtung A die empfangenen Daten mit Hilfe des Authentifizierungsschlüssels Kab. Die empfangenen Daten können auf ähnliche Weise entschlüsselt werden, wie die Entschlüsselung, die durch die Vorrichtung E durchgeführt wird, und dies wird daher hierin nicht weiter ausführlich beschrieben. Somit erhält man Rb, Ra und Kses, und Rb und Ra werden mit den ursprünglichen Daten, die von der Vorrichtung A übertragen wurden, verglichen. Wenn die Überprüfung positiv verläuft, stellt die Vorrichtung A fest, dass die Vorrichtung B eine autorisierte Vorrichtung ist. In der Kommunikation, die durchgeführt wird, nachdem die gegenseitige Authentifizierung positiv verlaufen ist, wird der Sitzungsschlüssel Kses verwendet, um die Vertraulichkeit zu sichern.
  • In dem Fall, bei dem die empfangenen Daten in der oben beschriebenen Überprüfung als ungültig erkannt werden, schlägt die gegenseitige Authentifizierung fehl und der Prozess wird beendet.
  • In dem oben beschriebenen Authentifizierungsprozess wird der Authentifizierungsschlüssel Kab gemeinsam durch beide Vorrichtungen A und B verwendet. Dieser gemeinsame Schlüssel Kab wird an die Vorrichtungen mit Hilfe der oben beschriebenen Technik mit Hilfe eines Aktivierungsschlüsselblocks (EKB) übertragen.
  • Insbesondere erzeugt in dem in 12 gezeigten Beispiel eine der Vorrichtungen A und B einen Aktivierungsschlüsselblock (EKB), so dass dieser von der anderen Vorrichtung entschlüsselt werden kann, und wobei die eine der Vorrichtungen weiterhin den Authentifizierungsschlüssel Kab mit Hilfe des erzeugten Aktivierungsschlüsselblocks (EKB) verschlüsselt und die resultierenden verschlüsselten Daten an die andere Vorrichtung überträgt. Alternativ kann eine dritte Partei einen Aktivierungsschlüsselblock (EKB), der von beiden Vorrichtungen A und B verwendet werden kann, erzeugen und kann einen Authentifizierungsschlüssel Kab übertragen, der mit Hilfe des erzeugten Aktivierungsschlüsselblocks verschlüsselt worden ist, an die Vorrichtungen A und B übertragen.
  • 13 und 14 zeigen Beispiele von Prozessen des Übertragens eines gemeinsamen Authentifizierungsschlüssels Kake an mehrere Vorrichtungen mit Hilfe der Technik, die einen Aktivierungsschlüsselblock (EKB) verwendet. In dem in 13 gezeigten Beispiel wird ein Authentifizierungsschlüssel Kake, der durch die Vorrichtungen 0, 1, 2 und 3 entschlüsselt werden kann, an diese Vorrichtungen übertragen. In dem in 14 gezeigten Beispiel wird von den Vorrichtungen 0, 1, 2 und 3 die Vorrichtung 3 aufgeweckt und ein Authentifizierungsschlüssel, der nur die Vorrichtungen 0, 1 und 2 entschlüsselt werden kann, wird übertragen.
  • In dem in 13 gezeigten Beispiel werden Daten (b), die durch Verschlüsseln eines Authentifizierungsschlüssels Kake mit Hilfe eines erneuerten Knotenschlüssels K(t)00 erzeugt werden, gemeinsam mit einem Aktivierungsschlüsselblock (EKB) übertragen, der so erzeugt wird, dass der erneuerte Schlüssel K(t)00 durch Entschlüsseln des EKB mit Hilfe der Knotenschlüssel und Blattschlüssel, die in den entsprechenden Vorrichtungen 0, 1, 2 und 3 gespeichert sind, erhalten werden kann. Wie auf der rechten Seite der 13 gezeigt ist, erhält jede Vorrichtung zunächst den erneuerten Knotenschlüssel K(t)00 durch Verarbeiten (Entschlüsseln) des EKB und erhält dann den Authentifizierungsschlüssel Kake durch Entschlüsseln des verschlüsselten Authentifizierungsschlüssels Enc (K(t)00, Kake) mit Hilfe des erhaltenen Knotenschlüssels K(t)00.
  • Sogar wenn eine der anderen Vorrichtungen 4, 5, 6, 7 usw. den gleichen Aktivierungsschlüsselblock (EKB) empfängt, kann die Vorrichtung den EKB nicht mit Hilfe eines Knotenschlüssels oder eines Blattschlüssels, der durch die Vorrichtungen gespeichert ist, verarbeiten, um den erneuerten Knotenschlüssel K(t)00 zu erhalten.
  • Somit ist es möglich, den Authentifizierungsschlüssel sicher nur an autorisierte Vorrichtungen zu übertragen.
  • Andererseits wird in dem Beispiel, das in 14 gezeigt ist, in einem Fall, bei dem die Vorrichtung 3 in der Gruppe, die durch die gepunktete Linie in 3 umschlossen ist, aufgrund einer Verletzung der Vertraulichkeit eines Schlüssels für ungültig erklärt worden ist, ein Aktivierungsschlüsselblock (EKB) so erzeugt, dass er nur durch die anderen Teilnehmer der Gruppe entschlüsselt werden kann, d. h. durch die Vorrichtungen 0, 1, und 2, und der erzeugte Aktivierungsschlüsselblock (EKB) wird übertragen. Insbesondere werden der Aktivierungsschlüsselblock (EKB), der in 14(a) gezeigt ist, und die Daten, die in 14(b) gezeigt sind, die durch Verschlüsseln des Authentifizierungsschlüssels (Kake) mit Hilfe des Knotenschlüssels (K(t)00) erzeugt werden, gemeinsam übertragen.
  • Das Entschlüsselungsverfahren wird auf der rechten Seite der 14 gezeigt. Jede Vorrichtung 0, 1, 2 erhält zunächst den erneuerten Knotenschlüssel (K(t)00) von dem empfangenen Aktivierungsschlüsselblock durch Durchführen einer Entschlüsselung mit Hilfe eines Blattschlüssels oder eines Knotenschlüssels, die durch die Vorrichtungen gespeichert werden. Danach erhält jede Vorrichtung den Authentifizierungsschlüssel Kake durch Durchführung einer Entschlüsselung mit Hilfe von K(t)00.
  • Sogar wenn eine der Vorrichtungen 4, 5, 6 usw. der anderen Gruppen, die in 3 gezeigt sind, ähnliche Daten (EKB) empfangen, können diese nicht den erneuerten Knotenschlüssel K(t)00 mit Hilfe eines Blattschlüssels oder eines Knotenschlüssels, die durch diese gespeichert ist, erhalten. Die für ungültig erklärte Vorrichtung 3 kann ebenfalls nicht den erneuerten Knotenschlüssel K(t)00 mit Hilfe eines Blattschlüssels oder eines Knotenschlüssels, die durch diese gespeichert sind, erhalten. Somit können nur die autorisierten Vorrichtungen den Authentifizierungsschlüssel entschlüsseln und diesen verwenden.
  • Somit macht es das oben beschriebene Verfahren das Übertragen eines Authentifizierungsschlüssels mit Hilfe eines EKB möglich, einen verschlüsselten Authentifizierungsschlüssel mit Hilfe einer kleinen Datenmenge sicher zu übertragen, so dass nur autorisierte Benutzer den verschlüsselten Authentifizierungsschlüssel entschlüsseln können.
  • [Verteilung eines Inhaltsschlüssels mit Hilfe eines Zertifikats eines öffentlichen Schlüssels und eines Aktivierungsschlüsselblocks (EKB)]
  • Nachfolgend wird ein Verfahren zum Verteilen eines Inhaltsschlüssels mit Hilfe eines Zertifikats für einen öffentlichen Schlüssel und einen Aktivierungsschlüsselblock (EKB) beschrieben. Zunächst wird ein Verfahren der gegenseitigen Authentifizierung mit Hilfe einer 160-Bit Kryptografie mit Hilfe einer elliptischen Kurve, die einem von Kryptografieschemata mit öffentlichen Schlüsseln entspricht, das nachfolgend mit Bezug auf 15 beschrieben wird. Obwohl ECC als das Kryptografieschema mit einem der öffentlichen Schlüssel in dem in 15 gezeigten Prozess verwendet wird, kann ein anderes, ähnliches Kryptografieschema mit einem symmetrischen Schlüssel ebenfalls verwendet werden. Weiterhin ist die Schlüsselgröße nicht auf 160 Bit beschränkt. In 15 erzeugt zunächst eine Vorrichtung B eine 64-Bit Zufallszahl Rb und überträgt diese an eine Vorrichtung A. Nach dem Empfangen von Rb erzeugt die Vorrichtung A eine 64-Bit Zufallszahl Ra und eine Zufallszahl Ak, die kleiner ist als eine Primzahl p. Der Punkt Av = Ak x G wird berechnet, indem ein Basispunkt G mit Ak multipliziert wird. Eine digitale Signatur A.Sig für Ra, Rb und Av (X und Y Koordinaten) wird dann erzeugt und gemeinsam mit einem Zertifikat für einen öffentlichen Schlüssel der Vorrichtung A an die Vorrichtung B übertragen. Hierin weisen Ra und Rb eine Länge von 64 Bit auf, und die X und Y Koordinaten von Av weisen eine Länge von 160 Bit auf, und somit wird die digitale Signatur für eine Gesamtlänge von 448 Bits erzeugt.
  • Nach dem Empfangen des Zertifikats für den öffentlichen Schlüssel der Vorrichtung A, von Ra, Rb und Av und der digitalen Signatur A.Sig überprüft die digitale Vorrichtung B, ob Rb, das von der Vorrichtung A empfangen wurde, gleich dem Ursprungswert, der durch die Vorrichtung B erzeugt wird, entspricht. Wenn die Überprüfung angibt, dass Rb dem ursprünglichen Wert entspricht, wird die digitale Signatur, die in das Zertifikat der Vorrichtung A für den öffentlichen Schlüssel geschrieben wird, anschließend mit Hilfe des öffentlichen Schlüssels der Zertifikatautorität überprüft und der öffentliche Schlüssel der Vorrichtung A extrahiert.
  • Danach wird die digitale Signatur A.Sig mit Hilfe des extrahierten öffentlichen Schlüssels der Vorrichtung A überprüft.
  • Danach erzeugt die Vorrichtung B eine Zufallszahl Bk, die kleiner ist als die Primzahl p. Danach wird der Punkt Bv = Bk x = G berechnet, indem der Basispunkt G mit Bk multipliziert wird. Eine digitale Signatur B.Sig für Rb, Ra, Bv (X und Y Koordinaten) wird dann erzeugt und gemeinsam mit einem Zertifikat für einen öffentlichen Schlüssel der Vorrichtung B an die Vorrichtung A übertragen.
  • Nach dem Empfangen des Zertifikats der Vorrichtung B für den öffentlichen Schlüssel, von Rb, Ra, Av und der digitalen Signatur B.Sig überprüft die digitale Vorrichtung A, ob Ra, das von der Vorrichtung B empfangen wurde, dem ursprünglichen Wert, der durch die Vorrichtung A erzeugt wurde, entspricht. Wenn die Überprüfung angibt, dass Ra dem ursprünglichen Wert entspricht, wird anschließend die digitale Signatur, die in das Zertifikat der Vorrichtung B für den öffentlichen Schlüssel geschrieben wurde, mit Hilfe des öffentlichen Schlüssels der Zertifikatautorität überprüft, und dann wird der öffentliche Schlüssel der Vorrichtung B extrahiert. Danach wird die digitale Signatur B.Sig mit Hilfe des extrahierten öffentlichen Schlüssels der Vorrichtung B überprüft. Wenn die Überprüfung der digitalen Signatur positiv verläuft, betrachtet die Vorrichtung A die Vorrichtung B als eine autorisierte Vorrichtung.
  • Wenn die gegenseitige Authentifizierung positiv verläuft, berechnet die Vorrichtung Bk x Av (durch Multiplizieren des Punktes Av auf der elliptischen Kurve mit Bk, das eine Zufallszahl ist), und die Vorrichtung A berechnet Ak x Bv. Die 64 niederwertigsten Bits der X Koordinaten der resultierenden Punkte werden als Sitzungsschlüssel während der nachfolgenden Kommunikation verwendet (im Fall, bei dem 64-Bit Schlüssel als symmetrische Schlüssel gemäß der Kryptografie mit symmetrischen Schlüsseln verwendet werden). Der Sitzungsschlüssel kann aus den Y Koordinaten erzeugt werden. Anstatt des Anwendens der 64 niederwertigsten Bits kann eine andere Bitgruppe ebenfalls verwendet werden. Bei der vertraulichen Kommunikation, die nach der gegenseitigen Authentifizierung durchgeführt wird, kann eine digitale Signatur den mit Hilfe eines Sitzungsschlüssels verschlüsselten Daten hinzugefügt werden.
  • In dem Fall, bei dem die digitale Signatur oder die empfangenen Daten bei der oben beschriebenen Überprüfung als ungültig festgestellt werden, schlägt die gegenseitige Authentifizierung fehl, und der Prozess wird beendet.
  • 16 zeigt ein Beispiel des Prozesses des Verteilens eines Inhaltsschlüssels mit Hilfe eines Zertifikats für einen öffentlichen Schlüssel und eines Aktivierungsschlüsselblocks (EKB). Zunächst wird eine Authentifizierung zwischen einem Inhalte-Anbieter und einem PC mit Hilfe der Kryptografietechnik mit einem öffentlichen Schlüssel, die oben mit Bezug auf 15 beschrieben worden ist, durchgeführt. Der Inhalte-Anbieter erzeugt einen EKB, der mit Hilfe eines Knotenschlüssels oder eines Blattschlüssels entschlüsselt werden kann, die in dem Wiedergabegerät oder einem Speichermedium, zu dem ein Inhaltsschlüssel übertragen werden soll, gespeichert werden. Danach werden der verschlüsselte Inhaltsschlüssel E(Kcon), der durch Verschlüsseln des Inhaltsschlüssels mit Hilfe eines erneuerten Knotenschlüssels und des Aktivierungsschlüsselblocks (EKB) erzeugt wird, mit Hilfe eines Sitzungsschlüssels Kses, der über die Authentifizierung zwischen dem Inhalte-Anbieter und dem PC erzeugt wird, verschlüsselt, und die resultierenden Daten werden an den PC übertragen.
  • Der PC entschlüsselt mit Hilfe des Sitzungsschlüssels den Inhaltsschlüssel E(Kcon), der mit Hilfe des erneuerten Knotenschlüssels verschlüsselt wurde, und den Aktivierungsschlüsselblock (EKB), wobei beide mit Hilfe des Sitzungsschlüssels verschlüsselt werden, und überträgt die resultierenden entschlüsselten Daten an das Wiedergabegerät und das Speichermedium.
  • Das Wiedergabegerät und das Speichermedium erhalten den Inhaltsschlüssel Kcon durch Entschlüsseln des Inhaltsschlüssels E(Kcon), der mit Hilfe des erneuerten Knotenschlüssels und des Aktivierungsschlüsselblock (EKB) verschlüsselt wurde, mit Hilfe eines Knotenschlüssels oder eines Blattschlüssels, die durch sie gespeichert werden.
  • Nur wenn bei diesem Verfahren eine Authentifizierung zwischen dem Inhalte-Anbieter und dem PC positiv verläuft, werden der Inhaltsschlüssel E(Kcon), die mit Hilfe des erneuerten Knotenschlüssels verschlüsselt wurde, und der Aktivierungsschlüsselblock (EKB) übertragen, wodurch sichergestellt wird, dass Daten sicher nur an eine autorisierte Vorrichtung übertragen werden können, sogar in einem Fall, bei dem die Vertraulichkeit eines Knotenschlüssels verletzt worden ist.
  • [Verteilung eines Programmcodes mit Hilfe eines Aktivierungsschlüsselblock (EKB))
  • In den oben beschriebenen Beispielen werden Daten, wie z. B. ein Inhaltsschlüssel, ein Authentifizierungsschlüssel oder dgl. mit Hilfe eines Aktivierungsschlüsselblocks (EKB) verschlüsselt, und die resultierenden verschlüsselten Daten werden übertragen. Verschiedene Arten von Programmcodes können ebenfalls auf ähnliche Weise mit Hilfe eines Aktivierungsschlüsselblocks (EKB) übertragen werden. In diesem Fall wird ein Programmcode als Nachrichtendaten, die mit Hilfe eines EKB verschlüsselt worden sind, übertragen. Der Prozess wird nachfolgend ausführlicher beschrieben.
  • 17 zeigt ein Beispiel eines Prozesses zum Übertragen eines Programmcodes zwischen Vorrichtungen nach deren Verschlüsseln mit Hilfe z. B. eines erneuerten Knotenschlüssels, der in einem Aktivierungsschlüsselblock (EKB) enthalten ist. Eine Vorrichtung 1701 erzeugt einen Aktivierungsschlüsselblock (EKB), der mit Hilfe eines Knotenschlüssels oder eines Blattschlüssels, die durch eine Vorrichtung 1702 gespeichert werden, entschlüsselt werden kann, und erzeugt auch Daten durch Verschlüsseln eines Programmcodes mit Hilfe eines erneuerten Knotenschlüssels, der in dem Aktivierungsschlüsselblock (EKB) enthalten ist. Der resultierende Aktivierungsschlüsselblock (EKB) und die verschlüsselten Daten werden an die Vorrichtung 1702 übertragen. Die Vorrichtung 1702 erhält den erneuerten Knotenschlüssel durch Verarbeiten des empfangenen EKB und erhält dann den Programmcode durch Entschlüsseln des verschlüsselten Programmcodes mit Hilfe des erhaltenen erneuerten Knotenschlüssels.
  • In dem in 17 gezeigten Beispiel führt die Vorrichtung 7017 weiterhin den erhaltenen Programmcode aus und gibt das Ergebnis an die Vorrichtung 1701 zurück. Abhängig von dem Ergebnis führt die Vorrichtung 1701 eine weitere Verarbeitung aus.
  • Wie oben beschrieben, wird es durch Übertragen eines Aktivierungsschlüsselblocks (EKB) und eines Programmcodes, der mit Hilfe des erneuerten Knotenschlüssels, der in dem Aktivierungsschlüsselblock (EKB) enthalten ist, verschlüsselt wurde, möglich, den Programmcode, der nur durch eine bestimmte Vorrichtung entschlüsselt werden kann, an die bestimmte Vorrichtung oder eine bestimmte Gruppe, die in 3 gezeigt ist, zu übertragen.
  • [Hinzufügen eines Integritätsprüfwertes (ICV) zu einem zu übertragenden Inhalt] Ein Verfahren wird nun beschrieben, um einen Inhalt vor Missbrauch zu schützen, indem auf Basis eines Integritätsprüfwertes (ICV), der für den Inhalt berechnet wird, festgestellt wird, ob der Inhalt manipuliert worden ist.
  • Der Integritätsprüfwert (ICV) eines Inhalts wird z. B. durch Verwenden einer Hashfunktion auf den Inhalt berechnet, so dass ICV = Hash (Kicv, C1, C2 ...) entspricht, wobei Kicv einem ICV-Erzeugungsschlüssel entspricht und C1 und C2 Informationen entsprechen, die dem Inhalt, der in Nachrichtenauthentifizierungscodes (MAC) dargestellt ist, zugeordnet sind.
  • 18 zeigt ein Beispiel eines Prozesses des Erzeugens eines MAC-Wertes mit Hilfe einer DES-Verschlüsselung. Wie in 18 gezeigt ist, wird eine zu übertragende Nachricht in Teile unterteilt, die jeweils aus 8 Bytes bestehen (nachfolgend werden die unterteilten Teile der Nachricht als M1, M2, ... MN bezeichnet). Zunächst wird das Exklusiv-Oder zwischen einem Anfangswert (IV) und M1 berechnet (wobei das Ergebnis durch I1 dargestellt wird). Danach wird I1 einer DES-Verschlüsselungseinheit zugeführt, um I1 mit Hilfe eines Schlüssels (K1) zu verschlüsseln (wobei die verschlüsselte Ausgabe als E1 bezeichnet wird). Das Exklusiv-Oder zwischen E1 und M2 wird dann berechnet und das Ergebnis I2 an die DES-Verschlüsselungseinheit angelegt, um dieses mit Hilfe eines Schlüssels K1 zu verschlüsseln (wobei die resultierende Ausgabe durch E2 bezeichnet wird). Danach wird der obige Prozess wiederholt, bis alle Teile der Nachricht verschlüsselt sind. Die letzte Ausgabe EN wird als Nachrichtenauthentifizierungscode (MAC) verwendet.
  • Ein Integritätsprüfwert (ICV) des Inhalts wird erzeugt, indem eine Hashfunktion auf den MAC-Wert des Inhalts und den ICV-Erzeugungsschlüssel angewendet wird. Der ICV, der auf Basis des Inhalts erzeugt wird, wird mit einem ICV verglichen, der z. B. erzeugt worden ist, wenn der Inhalt erzeugt wird, und der als gültig garantiert wird. Wenn beide Werte identisch sind, wird festgestellt, dass der Inhalt gültig ist, ohne manipuliert worden zu sein. Wenn sie verschieden sind, wird dadurch festgestellt, dass der Inhalt manipuliert worden ist.
  • [Verteilung eines Erzeugungsschlüssels Kicv eines Integritätsprüfwertes (ICV) mit Hilfe eines EKB]
  • Ein Prozess des Übertragens eines Erzeugungsschlüssels Kicv eines Integritätsprüfwertes (ICV) mit Hilfe eines Aktivierungsschlüsselblocks (EKB) wird nachfolgend beschrieben. Das heißt, dass in diesem Fall der Erzeugungsschlüssel Kicv des Integritätsprüfwertes (ICV) Authentifizierungsschlüssel als Nachrichtendaten verschlüsselt übertragen werden, die mit Hilfe des EKB verschlüsselt werden.
  • 19 und 20 zeigen bestimmte Beispiele von Arten des Übertragens eines Erzeugungsschlüssels Kicv für einen Integritätsprüfwert, der verwendet wird, um zu überprüfen, dass der Inhalt nicht manipuliert worden ist, mit Hilfe eines Aktivierungsschlüsselblocks in einem Fall, bei dem der gleiche Inhalt an mehrere Vorrichtungen übertragen wird. In dem in 19 gezeigten Beispiel wird ein ICV-Erzeugungsschlüssel Kicv, der durch die Vorrichtungen 0, 1, 2 und 3 entschlüsselt werden kann, an diese Vorrichtungen übertragen. In dem in 20 gezeigten Beispiel der Vorrichtungen 0, 1, 2, 3 wird die Vorrichtung 3 für ungültig erklärt und ein ICV-Erzeugungsschlüssel Kicv, der nur durch die Vorrichtungen 0, 1, 2 entschlüsselt werden kann, wird übertragen.
  • In dem in 19 gezeigten Beispiel werden Daten (b), die durch Verschlüsseln eines ICV-Erzeugungsschlüssels Kicv mit Hilfe eines erneuerten Knotenschlüssels K(t)00 erzeugt werden, gemeinsam mit einem Aktivierungsschlüsselblock (EKB) übertragen, der so erzeugt wird, dass der erneuerte Knotenschlüssel K(t)00 durch Entschlüsseln des EKB mit Hilfe der Knotenschlüssel und der Blattschlüssel, die durch die entsprechenden Vorrichtungen 0, 1, 2 und 3 gespeichert sind, erhalten werden kann.
  • Wie rechterhand in der 19 gezeigt ist, erhält jede Vorrichtung zunächst den erneuerten Knotenschlüssel K(t)00 durch Verarbeiten (Entschlüsseln) des EKB und erhält dann den ICV-Erzeugungsschlüssel Kicv durch Entschlüsseln des verschlüsselten ICV-Erzeugungsschlüssels Enc (K(t)00, Kicv) mit Hilfe des erhaltenen Knotenschlüssels K(t)00.
  • Sogar wenn eine der weiteren Vorrichtungen 4, 5, 6, 7 usw. den gleichen Aktivierungsschlüsselblock (EKB) empfängt, kann die Vorrichtung den EKB nicht mit Hilfe eines Knotenschlüssels oder eines Blattschlüssels, die in der Vorrichtung gespeichert sind, verarbeiten, um den erneuerten Knotenschlüssel K(t)00 zu erhalten. Somit ist es möglich, den ICV-Erzeugungsschlüssel nur an autorisierte Vorrichtungen sicher zu übertragen.
  • Andererseits wird in dem in 20 gezeigten Beispiel in einem Fall, bei dem die Vorrichtung 3 in der Gruppe, die durch eine gepunktete Linie in 3 umschlossen ist, aufgrund einer Aufdeckung der Vertraulichkeit eines Schlüssels für ungültig erklärt worden ist, ein Aktivierungsschlüsselblock (EKB) so erzeugt, dass er nur durch die anderen Mitglieder der Gruppe entschlüsselt werden kann, d. h. durch die Vorrichtungen 0, 1 und 2, und der erzeugte Aktivierungsschlüsselblock (EKB) wird übertragen. Insbesondere werden der Aktivierungsschlüsselblock (EKB), der in 20(a) gezeigt ist, und die Daten, die in 20(b) gezeigt sind, die durch Verschlüsseln der ICV-Erzeugungsschlüssel (Kicv) mit Hilfe des Knotenschlüssels (K(t)00) erzeugt werden, gemeinsam übertragen.
  • Das Entschlüsselungsverfahren ist rechterhand in 20 gezeigt. Jede Vorrichtung 0, 1 und 2 erhält zunächst den erneuerten Knotenschlüssel (K(t)00) von dem empfangenen Aktivierungsschlüsselblock, indem eine Entschlüsselung mit Hilfe eines Blattschlüssels oder eines Knotenschlüssels, die durch die Vorrichtung gespeichert sind, durchgeführt wird. Danach erhält jede Vorrichtung den ICV-Erzeugungsschlüssel Kicv durch Durchführen einer Entschlüsselung mit Hilfe K(t)00.
  • Sogar wenn eine der Vorrichtungen 4, 5, 6 usw. der anderen Gruppen, die in 3 gezeigt sind, ähnliche Daten (EKB) empfangen, kann diese nicht den erneuerten Knotenschlüssel (K(t)00) mit Hilfe eines Blattschlüssels oder Knotenschlüssels, die darin gespeichert sind, erhalten. Die für ungültig erklärte Vorrichtung 3 kann auch nicht den erneuerten Knotenschlüssel (K(t)00) mit Hilfe eines Blattschlüssels oder eines Knotenschlüssels, die darin gespeichert sind, erhalten. Somit können nur autorisierte Vorrichtungen den ICV-Erzeugungsschlüssel entschlüsseln und diesen verwenden.
  • Somit macht es das oben beschriebene Verfahren das Übertragen eines ICV-Erzeugungsschlüssels mit Hilfe eines EKB möglich, den ICV-Erzeugungsschlüssel mit Hilfe einer kleinen Datenmenge sicher zu übertragen, so dass nur autorisierte Benutzer den verschlüsselten ICV-Erzeugungsschlüssel entschlüsseln können.
  • Wie oben beschrieben, ist es mit Hilfe des Integritätsprüfwertes (ICV) des Inhalts möglich, zu verhindern, dass der EKB und der verschlüsselte Inhalt auf nicht autorisierte Weise kopiert werden. Wie z. B. in 21 gezeigt ist, können in einem Fall, bei dem ein Inhalt C1 und ein Inhalt C2 auf einem Medium 1 gemeinsam mit einem Aktivierungsschlüsselblock (EKB) gespeichert werden, von denen Inhaltsschlüssel, die den Inhalten C1 und C2 zugeordnet sind, erhalten werden können, wenn die Daten direkt auf ein Medium 2 kopiert werden, der kopierte EKB und Inhalte durch jede Vorrichtung, die den EKB entschlüsseln kann, verwendet werden.
  • Im Gegensatz dazu umfasst in dem in 21(b) gezeigten Beispiel jedes autorisierte Medium einen Integritätsprüfwert (ICV (C1, C2)), der darauf gespeichert ist, und der Inhalten zugeordnet ist, zusätzlich zu den Inhalten. Hierin bezeichnet ICV (C1, C2) einen Integritätsprüfwert, den man durch Anwenden einer Hashfunktion auf den Inhalt C1 und den Inhalt C2 erhält, so dass ICV = Hash (Kicv, C1, C2). In dem in 21(b) gezeigten Beispiel werden der Inhalt 1 und der Inhalt 2 auf einem Medium 1 in einer autorisierten Weise gespeichert, und der Integritätsprüfwert (ICV (C1, C2)), der auf Basis des Inhalts C1 und des Inhalts C2 erzeugt wird, wird ebenfalls darauf gespeichert. Andererseits wird der Inhalt 1 auf einem Medium 2 in autorisierter Weise gespeichert, und der Integritätsprüfwert (ICV (C1)), der auf Basis des Inhalts C1 erzeugt wird, wird ebenfalls darauf gespeichert. Wenn in diesem Fall Daten [EKB, Inhalt 2] von dem Medium 1 auf das Medium 2 kopiert werden, wird ein neuer Integritätsprüfwert (ICV (C1, C2)) durch das Medium 2 erzeugt, und es stellt sich heraus, dass der neue Integritätsprüfwert von dem Integritätsprüfwert Kicv (C1), der auf dem Medium 2 gespeichert ist, verschieden ist. Somit stellt sich heraus, dass der Inhalt manipuliert worden ist, oder ein neuer Inhalt in nicht autorisierter Weise kopiert worden ist. Wenn eine Vorrichtung ein Medium wiedergibt, ist, es, wenn vor dem Starten der Wiedergabe die Vorrichtung den ICV überprüft, um festzustellen, ob der erzeugte ICV und der ursprüngliche ICV, der auf dem Medium gespeichert ist, zueinander identisch sind, und wenn die Wiedergabe nicht durchgeführt wird, wenn die zwei Werte nicht miteinander identisch sind, möglich, zu verhindern, dass eine nicht autorisierte Kopie eines Inhalts wiedergegeben wird.
  • Um weiterhin die Sicherheit zu erhöhen, kann der Integritätsprüfwert (ICV) eines Inhalts in einen Wert, der auf Basis der Daten erzeugt wird, die einen Zählerwert enthalten, so dass ICV = Hash (Kicv, Zähler + 1, C1, C2 ...) entspricht, umgeschrieben werden, wobei der Zählerwert (Zähler + 1), jedes Mal um 1 erhöht wird, wenn der ICV umgeschrieben wird. Es ist erforderlich, dass der Zählerwert in einem sicheren Speicher gespeichert wird.
  • In einem Fall, bei dem ein Integritätsprüfwert (ICV) eines Inhalts nicht auf dem gleichen Medium gespeichert werden kann, wie das, auf dem der Inhalt gespeichert wird, kann der Integritätsprüfwert (ICV) des Inhalts auf einem Medium gespeichert werden, das von demjenigen des Inhalts verschieden ist.
  • Wenn z. B. ein Inhalt auf einem Nur-Lese-Medium oder einem üblichen MO gespeichert wird, der keine Kopierschutzfähigkeit aufweist, wenn ein Integritätsprüfwert (ICV) auf dem gleichen Medium gespeichert wird, kann der ICV durch einen nicht autorisierten Benutzer erneut geschrieben werden und die Sicherheit des ICV kann nicht erreicht werden. In einem solchen Fall wird der ICV auf einem sicheren Medium auf einer Hostmaschine gespeichert, und eine Inhaltskopierkontrolle (wie z. B. ein Eingangsüberprüfung/Ausgangsüberprüfung, Verschieben) mit Hilfe des ICV durchgeführt, wodurch sichergestellt wird, dass der ICV sicher gemanagt wird, und es ermöglicht wird, zu überprüfen, ob der Inhalt manipuliert worden ist.
  • 22 zeigt ein bestimmtes Beispiel des Prozesses für den obigen Zweck. In diesem in 22 gezeigten Beispiel werden Inhalte auf einem Medium 2201 gespeichert, wie z. B. einem Nur-Lese-Medium oder einem gewöhnlichen MO, der keine Kopierschutzfähigkeit aufweist, und ein Integritätsprüfwert (ICV), der diesen Inhalten zugeordnet ist, wird auf einem sicheren Medium 2202 auf einer Hostmaschine gespeichert, auf der ein Zugriff durch einen Benutzer nicht zugelassen ist, wodurch verhindert wird, dass der Integritätsprüfwert (ICV) in nicht autorisierter Weise erneut geschrieben wird. Wenn, bevor eine Vorrichtung die Wiedergabe des Mediums 2201, das damit verbunden ist, startet, ein PC oder ein Server, der als die Hostmaschine dient, den ICV überprüft, um festzustellen, ob eine Wiedergabe zugelassen werden sollte, ist es möglich, eine nicht autorisierte Kopie eines Inhalts zu verhindern oder die Wiedergabe eines manipulierten Inhalts zu verhindern.
  • [Kategorisierung einer hierarchischen Baumstruktur]
  • In den obigen Beispielen werden Verschlüsselungsschlüssel in der Form einer hierarchischen Baumstruktur erzeugt, wie die, die in 3 gezeigt ist, einschließlich eines Wurzelschlüssels, Knotenschlüssels und Blattschlüssels und Daten, wie z. B. ein Inhaltsschlüssel, ein Authentifizierungsschlüssel, ein ICV-Erzeugungsschlüssel, oder ein Programmcode werden verschlüsselt und gemeinsam mit einem Aktivierungsschlüsselblock (EKB) übertragen. Die hierarchische Baumstruktur, die die Knotenschlüssel und dgl. definiert, kann gemäß den Typen von Vorrichtungen kategorisiert werden, und eine Erneuerung der Schlüssel, Übertragung der Verschlüsselungsschlüssel und Übertragung von Daten kann in effizienter Weise wie nachfolgend beschrieben durchgeführt werden.
  • 23 zeigt ein Beispiel der Kategorisierung der hierarchischen Baumstruktur. In diesem in 23 gezeigten Beispiel wird ein Wurzelschlüssel Kroot 2301 an der obersten Ebene der hierarchischen Baumstruktur angeordnet, Knotenschlüssel 2302 werden in mittleren Ebenen angeordnet, und Blattschlüssel 2303 werden in der untersten Ebene angeordnet. Jede Vorrichtung weist eine Gruppe von Schlüsseln einschließlich eines Blattschlüssels der Vorrichtung selbst, des Wurzelschlüssels und der Knotenschlüssel, die in dem Pfad von dem Blattschlüssel zu dem Wurzelschlüssel vorhanden sind.
  • Es wird hierin beispielhaft angenommen, dass Knoten in einer M-ten Ebene, gezählt von der obersten Ebene an, als Kategorienknoten 2304 definiert werden. Das heißt, die Knoten in der M-ten Ebene werden verwendet, um bestimmte Kategorien von Vorrichtungen zu definieren. Ein Knoten in der M-ten Ebene wird als ein oberster Knoten verwendet und Knoten und Blätter, die in der (M + 1)-ten Ebene und niedrigeren Ebenen in Pfaden, die von dieser Knoten ausgehen, vorhanden sind, werden so definiert, dass sie in der Kategorie, die den obersten Knoten zugeordnet sind, enthalten sind.
  • Zum Beispiel wird ein Knoten 2305 in der M-ten Ebene in 23 verwendet, um eine Kategorie von „Memorysticks (Warenzeichen)" zu definieren und Knoten und Blätter, die in den Pfaden, die von diesem Knoten ausgehen, vorhanden sind, werden definiert, so dass sie verschiedenen Vorrichtungen entsprechen, die einen Memorystick verwenden, der zur Kategorie der „Memorysticks" gehört. Das heißt, eine Gruppe von Knoten, die den Knoten 2305 enthalten, und zugeordnete Knoten niedrigerer Ebenen und Blätter sind definiert, dass sie zur Kategorie der Memorysticks gehören.
  • Weiterhin kann eine Ebene, die niedriger ist als die M-te Ebene, durch eine ganze Zahl von Ebenen als Unterkategorieknoten 2306 verwendet werden. Wie z. B. in 23 gezeigt ist, kann ein Knoten, der in einem Pfad, der von dem Kategorienknoten 2305 der „Memorysticks" ausgeht, vorhanden ist, und der zwei Ebenen unterhalb des Kategorienknotens 2305 angeordnet ist, als ein Unterkategorienknoten von „Wiedergabevorrichtungen" verwendet werden, die in der Kategorie von Vorrichtungen enthalten sind, die Memorysticks verwenden. Auf ähnliche Weise wird ein Knoten 2307 unter dem Unterkategorienknoten 2306 der Wiedergabevorrichtungen als ein Unterkategorienknoten von „Telefone mit einer Musikwiedergabemöglichkeit", die in der Kategorie von Wiedergabevorrichtungen enthalten sind, verwendet werden. Bei einer weiteren niedrigeren Ebene werden ein Unterkategorienknoten 2308 von „PHS" und ein Unterkategorienknoten 2309 von „tragbaren Telefonen" so definiert, dass beide Unterkategorien zur Kategorie der Telefone mit Musikwiedergabefähigkeit gehören.
  • Die Kategorien und Unterkategorien können nicht nur gemäß der Typen von Vorrichtungen definiert werden, sondern auch gemäß den Typen von Herstellern, Inhalte-Anbietern oder Abrechnungsstellen, und diejenigen Knoten können entsprechend durch diese gemanagt werden. Das heißt, die Kategorien und Unterkategorien können so definiert werden, dass sie willkürliche Bereiche gemäß z. B. Verarbeitung, Management, Organisationen oder angebotenen Diensten aufweisen (nachfolgende Einheiten in den Kategorien oder Unterkategorien werden im Allgemeinen als Einheiten bezeichnet). Wenn z. B. ein Kategorienknoten als ein oberster Knoten für eine bestimmte Benutzung einer Spielemaschine XYZ, die von einem Spielmaschinenhersteller bereitgestellt wird, festgelegt wird, wird es möglich, Spielemaschinen XYZ zu verkaufen, in denen Knotenschlüssel und Blattschlüssel unterhalb des obersten Knotens gespeichert sind. Nach dem Verkaufen der Spielemaschinen XYZ können verschlüsselte Inhalte oder Schlüssel bereitgestellt werden oder Schlüssel können erneuert werden, indem ein Aktivierungsschlüsselblock (EKB) bereitgestellt wird, der den obersten Knotenschlüssel und Knotenschlüssel und Blattschlüssel unterhalb des obersten Knotens enthält, so dass nur Vorrichtungen unter dem obersten Knoten die bereitgestellten Daten verwenden können.
  • Wenn, wie oben beschrieben, ein Knoten als oberster Knoten bestimmt ist, sind Knoten niedrigerer Ebenen, die von dem obersten Knoten ausgehen, als zu einer diesem obersten Knoten zugeordneten Kategorie oder Unterkategorie gehörend definiert, wodurch es für einen Hersteller oder Inhalte-Anbieter, der einen obersten Knoten einer Kategorie oder Unterkategorie managt, möglich wird, einen Aktivierungsschlüsselblock (EKB), der diesen obersten Knoten enthält, zu erzeugen, ohne die anderen Kategorien oder Unterkategorien zu beachten, und den resultierenden Aktivierungsschlüsselblock (EKB) an Vorrichtungen, die den obersten Knoten oder den Knoten niedrigerer Ebenen, die von den obersten Knoten ausgehen, entsprechen, zu verteilen, und wodurch es möglich wird, einen Schlüssel zu erneuern, ohne auf die Vorrichtungen, die anderen Kategorien, die nicht zu diesem obersten Knoten gehören, auszuüben.
  • [Verteilung eines Schlüssels mit Hilfe eines vereinfachten EKB (1)]
  • In der mit Bezug auf 3 zu der zuvor beschriebenen Baumstruktur wird, wenn ein Schlüssel, wie z. B. ein Inhaltsschlüssel, an eine bestimmte Vorrichtung (Blatt) gesendet wird, ein Aktivierungsschlüsselblock (EKB) so erzeugt, dass er durch einen Blattschlüssel oder einen Knotenschlüssel, die in der Vorrichtung, an die der Schlüssel gesendet werden soll, gespeichert sind, entschlüsselt werden kann, und der resultierende Aktivierungsschlüsselblock (EKB) wird der Vorrichtung bereitgestellt. Wenn z. B. in der Baumstruktur, die in 24(a) gezeigt ist, ein Schlüssel, wie z. B. ein Inhaltsschlüssel an Vorrichtungen a, g und j an entsprechende Blätter übertragen wird, wird ein Aktivierungsschlüsselblock (EKB), der durch diese Knoten a, g und j entschlüsselt werden kann, erzeugt und dahin übertragen.
  • Wenn insbesondere ein Inhaltsschlüssel (K(t)con) mit Hilfe eines erneuerten Wurzelschlüssels K(t)root verschlüsselt wird und gemeinsam mit einem EKB übertragen wird, können die Vorrichtungen a, g und j K(t)root durch Verarbeiten des EKB mit Hilfe eines Blattschlüssels und der in 24(b) gezeigten Knotenschlüssel erhalten und weiterhin den Inhaltsschlüssel K(t)con durch Durchführen einer Entschlüsselung mit Hilfe des erhaltenen erneuerten Wurzelschlüssels K(t)root durchführen.
  • 25 zeigt den Aktivierungsschlüsselblock (EKB), der in diesem bestimmten Fall übertragen wird. Der Aktivierungsschlüsselblock (EKB), der in 25 gezeigt ist, wird gemäß dem zuvor mit Bezug auf 6 beschriebenen EKB-Format erzeugt, und somit umfasst der EKB Daten (verschlüsselte Schlüssel) und Tags, die den Daten entsprechen. Wie zuvor mit Bezug auf 7 beschrieben worden ist, weist eine linke (L) und rechte (R) Komponente jedes Tags einen Wert von 0 oder 1 auf, abhängig davon, ob Daten in der L- oder R-Richtung existieren.
  • Wenn eine Vorrichtung den Aktivierungsschlüsselblock empfängt, entschlüsselt die Vorrichtung aufeinander folgend die verschlüsselten Schlüssel, die in dem Aktivierungsschlüsselblock (EKB) enthalten sind, auf der Basis der Tags, wodurch nacheinander erneuerte Schlüssel erhalten werden, von einer Ebene zu einer höheren Ebene. Wie in 25 gezeigt ist, wächst die Datenmenge des Aktivierungsschlüsselblocks (EKB) mit der Anzahl der Ebenen zwischen der Wurzel und den Blättern an (die Anzahl der Ebenen wird als die Tiefe bezeichnet). Die Tiefe (Anzahl der Ebenen) wächst mit der Anzahl der Vorrichtungen (Blätter), und somit wird die Datenmenge des EKB groß, wenn die Schlüssel an eine große Anzahl von Vorrichtungen übertragen werden.
  • Eine Technik zur Reduzierung der Datengröße des Aktivierungsschlüsselblocks (EKB) wird nachfolgend beschrieben. 26 zeigt ein Beispiel eines Aktivierungsschlüsselblocks (EKB), der abhängig von den Vorrichtungen, an die die Schlüssel übertragen werden, vereinfacht ist.
  • Wie in dem in 25 gezeigten Beispiel wird ebenfalls angenommen, dass ein Schlüssel, wie z. B. ein Inhaltsschlüssel, an die Vorrichtungen a, g und j bei entsprechenden Blättern übertragen wird. Wie in 26(a) gezeigt ist, wird eine Baumstruktur so erzeugt, dass sie nur diejenigen Vorrichtungen enthält, an die der Schlüssel übertragen werden soll. In diesem Fall wird die Baumstruktur, die in 26(b) gezeigt ist, auf Basis der Baumstruktur, die in 24(b) gezeigt ist, erzeugt. In einem Pfad von Kroot zu Kj gibt es keine Pfadverzweigung von dem Pfad von Kroot zu Kj, und somit kann dieser Pfad als nur ein Zweig dargestellt sein. Andererseits wird es zum Erreichen von Ka oder Kg von Kroot notwendig, bei K0 nach Ka oder Kg abzuzweigen. Somit kann der Baum so gebildet werden, dass man zwei Zweige, wie die in 26(a) gezeigten hat.
  • Wie in 26(a) gezeigt ist, weist der resultierende Baum eine vereinfachte Form mit nur einem Knoten K0 auf. Der Aktivierungsschlüsselblock (EKB), der verwendet wird, um erneuerte Schlüssel zu verteilen, wird auf Basis dieses vereinfachten Baumes erzeugt. Der Baum, der in 26(a) gezeigt ist, kann durch Rekonstruieren des ursprünglichen Baumes erzeugt werden, so dass ein Binärbaum zunächst erzeugt wird, so dass er nur Pfade zu Endpunktknoten oder Blättern umfasst, für die es möglich ist, den Aktivierungsschlüsselblock (EKB) zu entschlüsseln, und dann werden nicht notwendige Knoten von dem Baum entfernt. Der Aktivierungsschlüsselblock (EKB), der verwendet wird, um erneuerte Schlüssel zu verteilen, wird auf Basis nur derjenigen Schlüssel erzeugt, die den Knoten oder Blättern, die in diesem rekonstruierten hierarchischen Baum enthalten sind, entsprechen.
  • Der Aktivierungsschlüsselblock (EKB), der oben mit Bezug auf 25 beschrieben ist, umfasst alle verschlüsselten Schlüssel, die in Pfaden von den entsprechenden Blättern a, g und j zu Kroot vorhanden sind. Im Gegensatz dazu umfasst der vereinfachte EKB nur vereinfachte Schlüssel an Knoten, die in dem vereinfachten Baum enthalten sind. Wie in 26(b) gezeigt ist, ist jeder Tag durch drei Bits dargestellt. Das zweite und das dritte Bit werden auf die gleiche Weise wie in dem in 25 gezeigten Beispiel verwendet. Das heißt, das zweite Bit weist einen Wert von 0 oder 1 auf, abhängig davon, ob Daten in der L (links) Richtung vorhanden sind, und das dritte Bit weist einen Wert von 0 oder 1 auf, abhängig davon, ob Daten in der R (rechts) Richtung vorhanden sind. Das erste Bit wird verwendet, um anzugeben, ob der EKB einen verschlüsselten Schlüssel an den Knoten, der dem Tag entspricht, umfasst. Wenn ein verschlüsselter Schlüssel enthalten ist, wird das erste Bit auf 1 gesetzt, während es auf 0 gesetzt wird, wenn kein verschlüsselter Schlüssel enthalten ist.
  • Die Datengröße des Aktivierungsschlüsselblocks (EKB), der Vorrichtungen (Blättern) über ein Datenkommunikationsnetzwerk bereitgestellt wird, oder durch Anschließen eines Speichermediums, auf dem der EKB gespeichert ist, bereitgestellt wird, kann erheblich reduziert werden, indem die in 26(b) gezeigte Struktur verwendet wird, verglichen mit der Struktur, die in 25 gezeigt ist. Wenn jede Vorrichtung den Aktivierungsschlüsselblock (EKB), der in 26 gezeigt ist, empfängt, entschlüsselt die Vorrichtung nacheinander nur die Daten an den Positionen, bei denen das erste Bit der entsprechenden Tags 1 entspricht, wodurch alle notwendigen entschlüsselten Schlüssel erhalten werden. Insbesondere entschlüsselt die Vorrichtung a verschlüsselte Daten Enc (Ka, K(t)0) mit Hilfe eines Blattschlüssels Ka, wodurch man einen Knotenschlüssel K(t)0 erhält und entschlüsselt verschlüsselte Daten Enc (K(t)0, K(t)root) mit Hilfe des Knotenschlüssels K(t)0, wodurch man K(t)root erhält. Andererseits entschlüsselt die Vorrichtung j verschlüsselte Daten Enc (Kj, K(t)root mit Hilfe eines Blattschlüssels Kj, wodurch man K(t)root erhält.
  • Wenn wie oben beschrieben eine neue vereinfachte Baumstruktur nur mit Vorrichtungen, an die Daten übertragen werden sollen, erzeugt werden, und wenn ein Aktivierungsschlüsselblock (EKB) mit Hilfe nur von Blattschlüsseln und Knotenschlüsseln, die in dem vereinfachten Baum enthalten sind, erzeugt wird, wird die Datengröße des resultierenden Aktivierungsschlüsselblocks (EKB) klein, und es wird somit möglich, den Aktivierungsschlüsselblock (EKB) auf effiziente Weise zu übertragen.
  • [Verteilung eines Schlüssels mit Hilfe eines vereinfachten EKB (2)]
  • Eine Technik zum weiteren Vereinfachen des Aktivierungsschlüsselblocks (EKB), der auf der Basis des vereinfachten Baums, der in 26 gezeigt ist, erzeugt wird, wobei weiterhin die Datengröße reduziert wird, und wodurch es möglich wird, die Verarbeitung auf effiziente Weise durchzuführen.
  • In dem oben mit Bezug zu 26 beschriebenen Beispiel wird der Baum erzeugt, indem der ursprüngliche Baum so rekonstruiert wird, dass ein Binärbaum zunächst erzeugt wird, so dass er nur Pfade zu Endpunktknoten oder Blättern enthält, bei denen eine Entschlüsselung des Aktivierungsschlüsselblocks (EKB) zugelassen sind, und anschließend werden nicht notwendige Knoten aus dem Baum entfernt. Der Aktivierungsschlüsselblock (EKB), der verwendet wird, um erneuerte Schlüssel zu verteilen, wird auf Basis nur derjenigen Schlüssel erzeugt, die den Knoten oder Blättern, die in diesem rekonstruierten hierarchischen Baum enthalten sind, entsprechen.
  • Auf Basis des rekonstruierten hierarchischen Baums, der in 26(a) gezeigt ist, wird ein Aktivierungsschlüsselblock (EKB), wie in 26(b) gezeigt ist, erzeugt, so dass Blätter a, g und j erneuerte Knotenschlüssel K(t)root erhalten können, und der resultierende Aktivierungsschlüsselblock (EKB) wird übertragen. Über die Verarbeitung des Aktivierungsschlüsselblocks (EKB), der in 26(b) gezeigt ist, kann das Blatt j den Wurzelschlüssel K(t)root erhalten, indem nur ein Entschlüsselungsprozess durchgeführt wird, bei dem Enc (Kj, K(t)root) entschlüsselt wird. Jedoch müssen die Blätter a und g zunächst Enc (Ka, K(t)0) oder Enc (Kg, K(t)0) entschlüsseln, um K(t)0 zu erhalten; und dann Enc (K(t)0, K(t)root), um den Wurzelschlüssel K(t)root zu entschlüsseln. Das heißt, die Blätter a und g müssen einen zweischrittigen Prozess zur Entschlüsselung durchführen.
  • In einem Fall, bei dem der Knoten K0 als Unterwurzelknoten dient, der Blätter a und g niedrigerer Ebene managt, kann der hierarchische Baum, der in die vereinfachte Form, wie in 26 gezeigt ist, rekonstruiert worden ist, nützlich sein, um zu bestätigen, dass die Blätter a und b erneuerte Schlüssel erhalten haben. Wenn jedoch der Knoten K0 nicht die Blätter der niedrigeren Ebene managt, oder wenn, obwohl der Knoten K0 die Blätter der niedrigen Ebene managt, das Bereitstellen eines erneuerten Schlüssels von einem Knoten einer höheren Ebene zugelassen wird, kann der rekonstruierte hierarchische Baum, der in 2 gezeigt ist, weiterhin vereinfacht werden, indem der Knoten K0 entfernt wird, und ein Aktivierungsschlüsselblock (EKB) kann auf der Basis dieses weiter vereinfachten Baumes erzeugt werden.
  • Ein Beispiel eines solchen Aktivierungsschlüsselblocks (EKB) ist in 27 gezeigt. Wie in dem in 26 gezeigten Beispiel wird ebenfalls angenommen, dass ein Schlüssel, wie z. B. ein Inhaltsschlüssel, an die Vorrichtungen a, g und j an den entsprechenden Blättern übertragen wird. Wie in 27(a) gezeigt ist, wird ein Baum so erzeugt, dass die Wurzel Kroot direkt mit den entsprechenden Blättern a, g und j verbunden wird.
  • Somit weist, wie in 27(a) gezeigt ist, der resultierende Baum eine Struktur auf, die man durch Entfernen des Knotens K0 von dem rekonstruierten hierarchischen Baum, der in 26(a) gezeigt ist, erhalten kann. Der Aktivierungsschlüsselblock (EKB), der verwendet wird, um die erneuerten Schlüssel zu verteilen, wird auf Basis dieses vereinfachten Baums erzeugt. Der in 27(a) gezeigte Baum ist ein hierarchischer Baum, der so rekonstruiert ist, dass er nur Pfade umfasst, die direkt die Wurzel und die Blätter miteinander verbindet, die den Aktivierungsschlüsselblock (EKB) entschlüsseln dürfen. Der Aktivierungsschlüsselblock (EKB), der verwendet wird, um die erneuerten Schlüssel zu verteilen, wird auf Basis nur derjenigen Schlüssel erzeugt, die den Blättern entsprechen, die in diesem rekonstruierten hierarchischen Baum enthalten sind.
  • In dem in 27(a) gezeigten Beispiel werden die Endpunktknoten als Blätter verwendet. Auch in einem Fall, bei dem der Knoten der obersten Ebene Schlüssel an Knoten von mittleren Ebenen oder unteren Ebenen verteilen, kann der Baum vereinfacht werden, indem direkt der oberste Knoten mit einem Knoten der mittleren Ebene oder der unteren Ebene verbunden wird, wobei ein Aktivierungsschlüsselblock (EKB) auf Basis des vereinfachten Schlüssels erzeugt werden kann und Schlüssel mit Hilfe des resultierenden Aktivierungsschlüsselblocks (EKB) übertragen werden können. Wie oben beschrieben, weist der rekonstruierte hierarchische Baum eine Baumstruktur auf, dessen oberster Knoten direkt mit den Endpunktknoten oder Blättern verbunden ist. In diesem vereinfachten Baum ist die Anzahl von Pfaden, die von dem obersten Knoten abzweigen, nicht auf zwei beschränkt, sondern der oberste Knoten kann drei oder mehr abzweigende Pfade aufweisen, abhängig von der Anzahl der Verteilungsknoten oder Blätter.
  • Der Aktivierungsschlüsselblock (EKB), der oben mit Bezug auf 25 beschrieben ist, umfasst verschlüsselte Daten, die allen Schlüsseln in Pfaden von den entsprechenden Blättern a, g und j zu Kroot entsprechen. In diesem in 26 gezeigten Beispiel umfasst der Aktivierungsschlüsselblock (EKB) die Blattschlüssel, die den Blättern a, g und j zugeordnet sind, den Knoten K0, der gemeinsam von a und g verwendet wird, und den Wurzelschlüssel. Im Gegensatz dazu wird in dem Aktivierungsschlüsselblock (EKB) auf Basis des vereinfachten hierarchischen Baums, der in 27(a) gezeigt ist, der Schlüssel an dem Knoten K0 entfernt, und somit weist dieser, wie in 27(b) gezeigt ist, eine weiter reduzierte Datengröße auf.
  • Der Aktivierungsschlüsselblock (EKB), der in 27(b) gezeigt ist, enthält wie bei dem Aktivierungsschlüsselblock (EKB), der in 26(b) gezeigt ist, 3-Bit Tags. Das zweite und das dritte Bit werden auf die gleiche Weise wie in dem in 26 gezeigten Beispiel verwendet. Das heißt, das zweite Bit weist einen Wert von 0 oder 1 auf abhängig davon, ob Daten in der L (links) Richtung vorhanden sind, und das dritten Bit weist einen Wert von 0 oder 1 auf abhängig davon, ob Daten in der R (rechten) Richtung vorhanden sind. Das erste Bit wird verwendet, um anzugeben, ob der EKB einen verschlüsselten Schlüssel an dem Knoten, der dem Tag entspricht, enthält. Wenn ein verschlüsselter Schlüssel enthalten ist, wird das erste Bit auf 1 gesetzt, während es auf 0 gesetzt wird, wenn kein verschlüsselter Schlüssel enthalten ist.
  • Mit Hilfe des in 27(b) gezeigten Aktivierungsschlüsselblocks (EKB) können die entsprechenden Blätter a, g und j den Wurzelschlüssel K(t)root erhalten, indem nur ein Prozess des Entschlüsselns von Enc (Ka, K(t)root), Enc (Kg, K(t)root) oder Enc (Kj, K(t)root) durchgeführt wird.
  • Ein Aktivierungsschlüsselblock (EKB) wird auf Basis eines Baums, der in einer vereinfachten Form mit einem Knoten der obersten Ebene und Endpunktknoten oder Blättern, die direkt mit den obersten Knoten verbunden sind, auf Basis nur derjenigen Schlüssel erzeugt werden, die dem Knoten der obersten Ebene und den Endpunktknoten oder Blättern des rekonstruierten Baumes entsprechen, wie es in 27(b) gezeigt ist.
  • Durch Aufbauen einer neuen vereinfachten Baumstruktur, die nur diejenigen Vorrichtungen enthält, an die ein Aktivierungsschlüsselblock (EKB) bereitgestellt werden soll, und durch Erzeugung des Aktivierungsschlüsselblocks (EKB) mit Hilfe nur derjenigen Schlüssel, die in dem resultierenden vereinfachten Baum enthalten sind, oder gemeinsam von Blättern verwendete Schlüssel, wie es bei den Aktivierungsschlüsselblöcken (EKB), die oben mit Bezug zu 26 und 27 beschrieben worden ist, der Fall ist, wird die Datengröße des resultierenden Aktivierungsschlüsselblocks (EKB) klein, und somit wird es möglich, den Aktivierungsschlüsselblock (EKB) auf effiziente Weise zu übertragen.
  • Die vereinfachte hierarchische Baumstruktur ist insbesondere dann nützlich, wenn EKBs auf Basis von Kategorienbäumen gemanagt werden, wobei der Kategorienbaum einem Typ eines Unterbaumes, der nachfolgend beschrieben wird, entspricht. Der Kategorienbaum entspricht einer Gruppe von Knoten oder Blättern, die aus den Knoten oder Blättern eines ursprünglichen Schlüsselverteilungsbaumes ausgewählt sind. Ein Kategorienbaum kann in vielfältigen Aspekten ausgebildet werden. Zum Beispiel kann ein Kategorienbaum einer Gruppe von Knoten oder Blättern entsprechen, die gemeinsam gemäß einem Vorrichtungstyp, Vorrichtungshersteller, Inhalte-Anbieter oder Abrechnungsstelle oder gemäß einem gemeinsamen Merkmal hinsichtlich des Verfahrens, Management oder angebotenen Diensten miteinander kombiniert sind. Vorrichtungen, die in einer Kategorie klassifiziert sind, werden einem Kategorienbaum zugeordnet. Wenn zum Beispiel das Aufbauen eines vereinfachten Baums mit obersten Knoten (Unterwurzeln) einer Mehrzahl von Kategorienbäumen auf ähnliche Weise wie oben beschrieben erfolgt, und wenn ein EKB auf Basis des konstruierten Baumes erzeugt wird, dann kann der resultierende vereinfachte Aktivierungsschlüsselblock (EKB) nur von Vorrichtungen entschlüsselt werden, die zu einem der ausgewählten Kategorienbäume gehört. Das Management auf Basis der Kategorienbäume wird nachfolgend ausführlich beschrieben.
  • Der Aktivierungsschlüsselblock (EKB) kann auf einem Informationsspeichermedium, wie z. B. einer optischen Platte oder einer DVD gespeichert werden. Zum Beispiel kann ein Aktivierungsschlüsselblock (EKB), der ein Datenteil mit verschlüsselten Schlüsseldaten und einem Tag-Teil mit Positionsidentifikationsdaten, die die Positionen der verschlüsselten Schlüsseldaten in einer hierarchischen Baumstruktur identifizieren, enthält, gemeinsam mit Nachrichtendaten, wie z. B. Inhaltsdaten, die mit Hilfe eines erneuerten Knotenschlüssels auf einem Informationsspeichermedium verschlüsselt sind, gespeichert werden, und das resultierende Informationsspeichermedium kann den Vorrichtungen bereitgestellt werden. Jede Vorrichtung kann nacheinander verschlüsselte Schlüsseldaten, die in dem Aktivierungsschlüsselblock (EKB) enthalten sind, gemäß den Identifikationsdaten in dem Tagfeld extrahieren und kann die extrahierten verschlüsselten Schlüsseldaten entschlüsseln, wodurch man einen Schlüssel erhält, den man benötigt, um einen Inhalt zu entschlüsseln, und somit, um den Inhalt zu verwenden. Selbstverständlich kann der Aktivierungsschlüsselblock (EKB) über ein Netzwerk, wie z. B. das Internet, übertragen werden.
  • [Management eines EKB auf Basis eines Kategorienbaums]
  • Eine Art zum Managen von Knoten oder Blättern in einer Baumstruktur zur Verwendung bei einer Verteilung von Schlüsseln gemäß einem Block oder einer Gruppe von Knoten oder Blättern wird nachfolgend beschrieben. Hierin bezieht sich ein Block, der einer Gruppe von Knoten oder Blättern entspricht, auf einen Kategorienbaum. Ein Kategorienbaum kann in vielfältigen Aspekten ausgebildet werden. Zum Beispiel kann ein Kategorienbaum einer Gruppe von Knoten oder Blättern entsprechen, die gemeinsam gemäß dem Vorrichtungstyp, dem Vorrichtungshersteller, dem Inhalte-Anbieter oder der Abrechnungsstelle oder gemäß einem gemeinsamen Merkmal hinsichtlich des Prozesses, Management oder angebotenen Diensten kombiniert sind.
  • Der Kategorienbaum kann weiterhin ausführlich mit Bezug auf 28 beschrieben werden. 28(a) zeigt eine Art zum Managen einer Baumstruktur in den Einheiten einer Baumstruktur. In 28(a) wird jeder Kategorienbaum durch ein Dreieck dargestellt. Jeder Kategorienbaum, der z. B. durch das Bezugszeichen 2701 angegeben ist, umfasst mehrere Knoten. 28(b) zeigt eine Knotenstruktur in einem Kategorienbaum. Jeder Kategorienbaum ist in der Form eines Binärbaums konstruiert, der einen obersten Knoten und mehrere Knoten in unteren Ebenen umfasst. Hierin wird ein oberster Knoten, wie der, der durch das Bezugszeichen 2702 bezeichnet ist, jedes Kategorienbaums als Unter-Wurzel bezeichnet.
  • Wie in 28(c) gezeigt ist, gibt es Blätter, die Vorrichtungen an unteren Enden des Baumes entsprechen. Jede Vorrichtung gehört zu einem der Kategorienbäume, die jeweils einen obersten Knoten 2702 enthalten, der als eine Unter-Wurzel dient, und mehrere Blätter, die den Vorrichtungen entsprechen.
  • Wie man aus 28(a) erkennen kann, weisen Kategorienbäume eine hierarchische Struktur auf, wie nachfolgend mit Bezug auf 29 beschrieben wird.
  • 29(a) stellt ein Beispiel der hierarchischen Struktur in einer vereinfachten Weise dar. In diesem bestimmten Beispiel enthält die hierarchische Kategorienbaumstruktur Kategorienbäume A01–Ann in einer bestimmten Ebene unter Kroot. In einer Ebene gerade unterhalb der Kategorienbäume A1–An sind Kategorienbäume B01–Bnk angeordnet. Auf der nächst niedrigeren Ebene sind Kategorienbäume C1–Cnq angeordnet. Wie in 29(b) und (c) gezeigt ist, weist jeder Kategorienbaum eine Baumstruktur auf, in der Knoten und Blätter auf mehreren Ebenen angeordnet sind.
  • Zum Beispiel weist der Kategorienbaum Bnk eine Baumstruktur auf, die wie in 28(b) gezeigt ist, einen Knoten 2811 der obersten Ebene, der als Unter-Wurzel dient, Endpunktknoten 2812 und weitere Knoten, die zwischen dem Knoten 2811 der obersten Ebene und dem Endpunktknoten 2812 angeordnet sind, enthält. Der Kategorienbaum ist einem Identifizierer Bnk zugeordnet und managt die Knoten innerhalb des Kategorienbaums Bnk unabhängig für den Kategorienbaum 8nk, wodurch das Managen von Kategorienbäumen der unteren Ebenen, die jeweils als ihre Knoten der obersten Ebene einen der Endpunktknoten 2812 enthalten. Andererseits wird der Kategorienbaum Bnk durch einen Kategorienbaum einer höheren Ebene (Vorgänger) Ann, dessen einer der Endpunktknoten 2811 als die Unter-Wurzel 2811 in dem Kategorienbaum Bnk enthalten ist, gemanagt.
  • Wie in 28(c) gezeigt ist, weist ein Kategorienbaum Cn3 eine Baumstruktur auf, die einen Knoten 2851 der obersten Ebene enthält, der als eine Unter-Wurzel dient, Endpunktknoten 2852, die den entsprechenden Vorrichtungen entsprechen, die in diesem Fall Blätter darstellen, und weitere Knoten zwischen den Knoten 2851 der obersten Ebenen und den Endpunktknoten 2852 auf. Dieser Kategorienbaum ist einem Identifizierer Cn3 zugeordnet und managt die Knoten und Blätter innerhalb des Kategorienbaums Cn3 unabhängig für die in dem Kategorienbaum Cn3, wodurch Blätter (Vorrichtungen) an den Endpunktknoten 2852 gemanagt werden. Andererseits wird der Kategorienbaum Cn3 durch einen Kategorienbaum Bn2 einer höheren Ebene (Vorgänger) gemanagt, dessen einer der Endpunktknoten als die Unter-Wurzel 2851 in dem Kategorienbaum Cn3 enthalten ist. Hierin bezieht sich das Schlüsselmanagement jedes Kategorienbaums z. B. auf die Erneuerung eines Schlüssels, das für ungültig Erklären und dgl., wie nachfolgend ausführlich beschrieben wird.
  • In jeder Vorrichtung, die einem Blatt in einem Kategorienbaum in der untersten Ebene entspricht, werden ein Blattschlüssel des Kategorienbaums, zu dem die Vorrichtung gehört, und Knotenschlüssel an den entsprechenden Knoten, die in einem Pfad von dem Blatt zum obersten Knoten, der als der Knoten der Unter-Wurzel des Kategorienbaums dient, vorhanden sind, gespeichert. Zum Beispiel für eine Vorrichtung an einem Endpunktknoten 2852 werden Schlüssel entsprechend den Knoten in einem Pfad von dem Endpunktknoten (Blatt) 2852 zu dem Knoten 2851 der Unter-Wurzel gespeichert.
  • Die Struktur des Kategorienbaumes wird weiter mit Bezug auf 30 beschrieben. Jeder Kategorienbaum kann eine Baumstruktur aufweisen, die verschiedene Ebenen umfasst. Die Tiefe (Anzahl der Ebenen) kann abhängig von der Anzahl der unteren Ebenen (Nachfolger) Kategorienbäumen festgelegt werden, die jeweils den Endpunktknoten dieses Kategorienbaumes entsprechen und abhängig von der Anzahl der Vorrichtungen oder Blätter.
  • Eine Kategorienbaumstruktur, die in 30(a) gezeigt ist, kann wie in 30(b) ausgeführt sein. Hierin entspricht ein Wurzelbaum einem Baum, der in der obersten Ebene angeordnet ist, und der Wurzelbaum weist einen Wurzelschlüssel auf. Mehrere Kategorienbäume A, B und C von niedrigeren Ebenen sind an entsprechenden Endpunktknoten des Wurzelbaumes angeordnet. Ein weiterer Kategorienbaum D einer niedrigeren Ebene ist unterhalb des Kategorienbaums C angeordnet. In dem Kategorienbaum C2901 werden eine oder mehrere Endpunktknoten als reservierte Knoten 2950 reserviert, so dass ein weiterer Kategorienbaum einer unteren Ebene künftig durch Einsetzen des reservierten Knotens 2950 hinzugefügt werden kann. Zum Beispiel kann ein Kategorienbaum C2902 mit einer Mehrebenenbaumstruktur hinzugefügt werden, indem der reservierte Knoten 2950 als der oberste Knoten des neuen Kategorienbaums vorgesehen wird.
  • Die reservierten Knoten werden nachfolgend ausführlich mit Bezug auf 31 beschrieben. Ein Kategorienbaum A (3011) weist Kategorienbäume B, C, D usw. von niedrigeren Ebenen auf, die durch den Kategorienbaum A (3011) gemanagt werden, und weist auch einen reservierten Knoten 3021 auf. Zum Beispiel kann die Anzahl der Kategorienbäume von niedrigeren Ebenen so erhöht werden, dass der reservierte Knoten 3021 einer Kategorie A' (3012) einer niedrigeren Ebene zugewiesen wird, und weitere Kategorienbäume F und G von niedrigeren Ebenen können mit den Endpunktknoten des Kategorienbaums A' (3012) einer niedrigeren Ebene verbunden werden. Der Kategorienbaum A' einer niedrigeren Ebene (3012) kann mindestens einen Endpunktknoten 3022 so reservieren, dass ein weiterer Kategorienbaum A'' (3013) einer niedrigeren Ebene hinzugefügt werden kann. Der Kategorienbaum A'' (3013) einer niedrigeren Ebene kann einen oder mehrere Endpunktknoten reservieren. Durch Reservieren von Endpunktknoten in der oben beschriebenen Weise wird es möglich, die Anzahl der Kategorienbäume von niedrigeren Ebenen zu erhöhen, die von einem bestimmten Kategorienbaum ohne Einschränkung gemanagt werden. Die Anzahl der reservierten Kategorienbäume ist nicht auf eins beschränkt, sondern mehrere Endpunkte können reserviert werden.
  • Jeder Kategorienbaum kann einen Aktivierungsschlüsselblock (EKB) unabhängig von den anderen Kategorienbäumen erzeugen, und eine Schlüsselerneuerung und Ungültigerklärung kann unabhängig von den anderen Kategorienbäumen durchgeführt werden. Wie in 31 gezeigt ist, werden die Aktivierungsschlüsselblöcke (EKBs) den entsprechenden Kategorienbäumen A, A' und A'' zugeordnet werden. Diese Aktivierungsschlüsselblöcke (EKBs) können z. B. durch einen Vorrichtungshersteller gemanagt werden, der die Kategorienbäume A, A' und A'' managt.
  • [Registrierung eines neuen Kategorienbaumes]
  • Die Registrierung eines neuen Kategorienbaumes wird nachfolgend beschrieben. 32 zeigt die Arbeitsweise einer Registrierung. In dem Verfahrensablauf, der in 32 gezeigt ist, gibt ein neuer (Vorgänger) Kategorienbaum (N-En), der der Baumstruktur hinzugefügt werden soll, eine neue Registrierungsanfrage an einen Kategorienbaum (P-En) einer höheren Ebene (Vorgänger) aus. Jeder Kategorienbaum weist seinen eigenen öffentlichen Schlüssel gemäß dem Kryptografieschema für einen öffentlichen Schlüssel auf. Wenn der neue Kategorienbaum die Registrierungsanfrage ausgibt, überträgt dieser seinen öffentlichen Schlüssel an den Kategorienbaum (P-En) der höheren Ebene.
  • Nach dem Empfangen der Registrierungsanfrage überträgt der Kategorienbaum (P-En) der höheren Ebene den empfangenen öffentlichen Schlüssel des neuen (Nachfolger) Kategorienbaums (N-En) an eine Zertifizierungsautorität (Ca), um einen öffentlichen Schlüssel des neuen (Nachfolger) Kategorienbaums mit einer Signatur von Ca zu empfangen. Das obige Verfahren wird durch gegenseitige Authentifizierung zwischen dem Kategorienbaum (P-En) der höheren Ebene und des neuen (Nachfolger) Kategorienbaumes (N-En) durchgeführt.
  • Wenn die Authentifizierung des Kategorienbaums, der nach einer neuen Registrierung anfragt, über den obigen Prozess beendet ist, erteilt der Kategorienbaum (P-En) der höheren Ebene die Erlaubnis der Registrierung des neuen (Nachfolger) Kategorienbaums (N-En) und überträgt einen Knotenschlüssel, der dem neuen (Nachfolger) Kategorienbaum zugeordnet ist, an den neuen (Nachfolger) Kategorienbaum (N-En). Dieser Knotenschlüssel entspricht einem der Endpunktknoten des Kategorienbaums (P-En) einer höheren Ebene und entspricht ebenfalls dem obersten Knoten oder einem Unter-Wurzelschlüssel des neuen (Nachfolger) Kategorienbaums (N-En).
  • Nach der Beendigung der Übertragung des Knotenschlüssels baut der neue (Nachfolger) Kategorienbaum (N-En) eine Baumstruktur des neuen (Nachfolger) Kategorienbaums (N-En) auf und legt den empfangenen Unter-Wurzelschlüssel an dem obersten Knoten der Baumstruktur fest. Weiterhin werden Schlüssel an den entsprechenden Knoten und Blättern festgelegt, und ein Aktivierungsschlüsselblock (EKB), der dem Kategorienbaum zugeordnet ist, wird erzeugt. Ein Aktivierungsschlüsselblock (EKB), der einem Kategorienbaum zugeordnet ist, wird als Unter-EKB bezeichnet.
  • Andererseits erzeugt der Kategorienbaum (P-En) der höheren Ebene ein Unter-EKB, der dem Kategorienbaum (P-En) der höheren Ebene zugeordnet ist, so dass ein Endpunktknoten, der aktiviert worden ist, wenn der neue (Nachfolger) Kategorienbaum mit diesem verbunden worden ist, in dem Unter-EKB berücksichtigt ist.
  • Nachdem der neue (Nachfolger) Kategorienbaum (N-En) den Unter-EKB mit den Knotenschlüsseln und Blattschlüsseln in dem neuen (Nachfolger) Kategorienbaum (N-En) erzeugt hat, überträgt der neue (Nachfolger) Kategorienbaum (N-En) den resultierenden Unter-EKB an den Kategorienbaum (P-En) der höheren Ebene.
  • Nach dem Empfangen des Unter-EKB von dem neuen (Nachfolger) Kategorienbaum (N-En) überträgt der Kategorienbaum (P-En) der höheren Ebene den empfangenen Unter-EKB gemeinsam mit dem erneuerten Unter-EKB des Kategorienbaums (P-En) der höheren Ebene an eine Schlüsselverteilungsstelle (KDC).
  • Auf Basis der Unter-EKBs aller Kategorienbäume kann die Schlüsselverteilungsstelle ein EKB auf verschiedene Arten erzeugen. Zum Beispiel kann der EKB so erzeugt werden, dass nur ein bestimmter Kategorienbaum oder eine bestimmte Vorrichtung den EKB entschlüsseln kann. Wenn der EKB, der so erzeugt wird, dass er von einem bestimmten Kategorienbaum oder Vorrichtung entschlüsselt werden kann, z. B. an einen Inhalte-Anbieter bereitgestellt wird, und wenn der Inhalte-Anbieter einen Inhaltsschlüssel auf Basis des empfangenen EKB verschlüsselt und den verschlüsselten Inhaltsschlüssel über ein Netzwerk bereitstellt oder an ein Speichermedium, auf dem der verschlüsselte Schlüssel gespeichert wird, bereitstellt, wird es möglich, einen Inhalt so zur Verfügung zu stellen, dass der Inhalt nur von der bestimmten Vorrichtung verwendet werden kann.
  • Die Weise der Registrierung eines Unter-EKB eines neuen Kategorienbaum in einer Schlüsselverteilungsstelle (KDC) ist nicht auf das aufeinander folgende Übertragen des Unter-EKB über einen Kategorienbaum der höheren Ebene beschränkt, sondern die Registrierung kann auch möglich sein, indem direkt der Unter-EKB von dem neuen Kategorienbaum an die Schlüsselverteilungsstelle (KDC) übertragen wird, ohne diese über den Kategorienbaum der höheren Ebene zu leiten.
  • Die Zuordnung zwischen dem Kategorienbaum einer höheren Ebene und einem Kategorienbaum einer unteren Ebene, der dem Kategorienbaum der höheren Ebene neu hinzugefügt wird, wird nachfolgend mit Bezug auf 33 beschrieben. Durch Bereitstellen eines Endpunktknotens des Kategorienbaums der höheren Ebene als ein oberster Knoten des neuen Kategorienbaums, der hinzugefügt werden soll, an den Kategorienbaum der unteren Ebene kann der Kategorienbaum der unteren Ebene als einer der Kategorienbäume hinzugefügt werden, die durch den Kategorienbaum der höheren Ebene gemanagt werden. Wie nachfolgend ausführlich beschrieben wird, beziehen sich die Kategorienbäume, die durch den Kategorienbaum der höheren Ebene gemanagt werden, auf diejenigen Kategorienbäume, die durch den Kategorienbaum der höheren Ebene für ungültig erklärt werden können.
  • Wenn, wie in 33 gezeigt ist, ein neuer Kategorienbaum dem Kategorienbaum der höheren Ebene hinzugefügt wird, dient derselbe Knoten als ein Endpunktknoten oder Blatt 3201 des Kategorienbaums der höheren Ebene und auch als der oberste Knoten 3202 des neu hinzugefügten Kategorienbaums. Das heißt, ein Endpunktknoten, der als ein Blattknoten der höheren Ebene dient, wird als die Unter-Wurzel des neu hinzugefügten Kategorienbaums festgelegt. Durch Durchführen der Festlegung auf die oben beschriebene Weise wird der neu hinzugefügte Kategorienbaum einer der aktiven Kategorienbäume, die die gesamte Baumstruktur bilden.
  • 34 zeigt ein Beispiel eines erneuerten EKB, der durch einen Kategorienbaum einer höheren Ebene erzeugt wird, wenn ein neuer Kategorienbaum hinzugefügt wird. Das heißt, 34 zeigt ein Beispiel eines Unter-EKB, der durch den Kategorienbaum der höheren Ebene erzeugt wird, wenn in einem Fall, bei dem der Kategorienbaum der höheren Ebene eine Baumstruktur aufweist, die, wie in 34(a) gezeigt ist, einen aktiven Endpunktknoten (Knoten 000) 3301 und einen aktiven Endpunktknoten (Knoten 001) 3302 aufweist, ein Endpunktknoten (Knoten 100) 3303 davon dem neuen Kategorienbaum bereitgestellt wird.
  • Der Unter-EKB weist ein Format auf, das in 34(b) gezeigt ist. Das heißt, der Unter-EKB entspricht einer Liste eines Knotenschlüssels einer hohen Ebene, der mit Hilfe eines aktiven Endpunktknotenschlüssels verschlüsselt wird, eines Knotenschlüssels einer höheren Ebene, der mit Hilfe des Knotenschlüssels der höheren Ebene verschlüsselt wird ... und letztendlich einen Unter-Wurzelschlüssel. Die Unter-EKB wird gemäß diesem Format erzeugt. Jeder Kategorienbaum weist seinen eigenen EKB in der Form der verschlüsselten Daten auf, die wie bei dem Unter-EKB, der in 34(b) gezeigt ist, einen Knotenschlüssel einer hohen Ebene, der mit Hilfe eines aktiven Endpunktknotenschlüssels oder Blattschlüssels verschlüsselt ist, eines Knotenschlüssels einer höheren Ebene, der mit Hilfe des Knotenschlüssels der hohen Ebene verschlüsselt wird, und letztendlich eine Unter-Wurzel umfasst. Der EKB jedes Kategorienbaums wird durch den Kategorienbaum selbst gemanagt.
  • [Ungültigerklären unter dem Management eines Kategorienbaums]
  • Eine Ungültigerklärung einer Vorrichtung oder eines Kategorienbaums, die in einem Fall durchgeführt wird, bei dem der Schlüsselverteilungsbaum auf eine Kategorienbaum-zu Kategorienbaum-Basis gemanagt wird, wird nachfolgend beschrieben. In den in 3 und 4 gezeigten Beispielen wird ein Aktivierungsschlüsselblock (EKB) so erzeugt, dass der resultierende Aktivierungsschlüsselblock (EKB) nur von bestimmten Vorrichtungen in der Baumstruktur entschlüsselt werden kann, jedoch eine für ungültig erklärte Vorrichtung den resultierenden Aktivierungsschlüsselblock (EKB) nicht entschlüsseln kann. In den in 3 und 4 gezeigten Beispielen wird eine Ungültigerklärung für eine Vorrichtung, die einem bestimmten Blatt in der Baumstruktur zugeordnet ist, durchgeführt. In einem Fall, bei dem ein Management auf einer Kategorienbaumbasis durchgeführt wird, kann eine Ungültigerklärung an einem bestimmten Kategorienbaum durchgeführt werden.
  • Mit Bezug auf 35 und die nachfolgenden Figuren wird ein Verfahren für die Ungültigerklärung, der in einem Fall durchgeführt wird, in dem ein Management auf einer Kategorienbaumbasis durchgeführt wird, nachfolgend beschrieben. 35 zeigt ein Verfahren der Ungültigerklärung eines Kategorienbaums an der auf der untersten Ebene in der Baumstruktur bei mehreren Kategorienbäumen. In diesem Fall werden alle Vorrichtungen, die zu dem für ungültig erklärten Kategorienbaum gehörten, für ungültig erklärt.
  • 35(a) zeigt eine Schlüsselverteilungsbaumstruktur, die auf Basis der Kategorienbäume gemanagt wird. In diesem bestimmten Beispiel wird ein Wurzelknoten an der obersten Ebene des Baumes angeordnet, und Kategorienbäume A01–Ann werden auf einer bestimmten Ebene unter dem Wurzelknoten angeordnet. Kategorienbäume B01–Bnk werden auf einer niedrigeren Ebene angeordnet, und die Kategorienbäume C1–Cn auf einer darunter liegenden niedrigeren Ebene angeordnet. Kategorienbäume auf der untersten Ebene weisen Endpunktknoten (Blätter) auf, denen entsprechenden Vorrichtungen, wie z. B. ein Aufzeichnungs-/Wiedergabegerät und ein Wiedergabegerät zugeordnet sind.
  • Das Ungültigerklären wird individuell durch die entsprechenden Kategorienbäume durchgeführt. Zum Beispiel können die Kategorienbäume C1–Cn auf der untersten Ebene eine Vorrichtung an einem Blatt für ungültig erklären. 35(b) zeigt eine Baumstruktur eines Kategorienbaums Cn (3430), die einem der Kategorienbäume auf der untersten Ebene entspricht. Der Kategorienbaum Cn (3430) weist einen Knoten 3431 der obersten Ebene auf, und mehrere Vorrichtungen sind den entsprechenden Blättern an den Endpunktknoten zugeordnet.
  • Wenn z. B. eine Vorrichtung 3432, die einem Blatt an einem bestimmten Endpunktknoten zugeordnet ist, für ungültig erklärt werden soll, erneuert der Kategorienbaum Cn (3430) den Kategorienbaum Cn selbst und erzeugt einen Aktivierungsschlüsselblock (Unter-EKB), der aus Knotenschlüsseln und Blattknoten, die in dem erneuerten Kategorienbaum Cn enthalten sind, besteht. Dieser Aktivierungsschlüsselblock kann nicht durch die für ungültig erklärte Vorrichtung 3432 verschlüsselt werden, sondern kann nur durch die Vorrichtungen, die den anderen Blättern zugeordnet sind, verschlüsselt werden. Ein Manager des Kategorienbaums Cn erzeugt einen solchen Aktivierungsschlüsselblock als einen erneuten Unter-EKB. Insbesondere werden Knotenschlüssel an den Knoten 3431, 3434 und 3435 in einem Pfad von der Unter-Wurzel zu der Vorrichtung 3432, die für ungültig erklärt werden soll, erneuert, und ein erneuerter Unter-EKB wird in der Form von verschlüsselten Schlüsseldaten erzeugt, so dass die erneuerten Knotenschlüssel in dem erneuerten Unter-EKB reflektiert werden, wodurch sichergestellt wird, dass der erneuerte Unter-EKB mit den anderen Vorrichtungen an Blättern als die für ungültig erklärte Vorrichtung 3432 entschlüsselt werden kann. Dieser Prozess des Ungültigerklärens ist äquivalent zu dem Prozess des Ungültigerklärens, der oben mit Bezug zu 3 und 4 beschrieben worden ist, wenn der Wurzelschlüssel durch den Unter-Wurzelschlüssel ersetzt wird, der einem Knotenschlüssel des Knotens der obersten Ebene des Kategorienbaums entspricht.
  • Der Aktivierungsschlüsselblock (Unter-EKB), der über den Prozess des Ungültigerklärens erneuert wird, der durch den Kategorienbaum Cn (3430) durchgeführt wird, wird an einen Kategorienbaum einer höheren Ebene übertragen. In diesem bestimmten Beispiel entspricht der Kategorienbaum der hohen Ebene einem Kategorienbaum Bnk (3420), der als einer der Endpunktknoten den obersten Knoten 3431 des Kategorienbaums Cn (3430) umfasst.
  • Wenn der Kategorienbaum 8nk (3420) den Aktivierungsschlüsselblock (Unter-EKB) von dem Kategorienbaum Cn der unteren Ebene (3430) empfängt, ersetzt der Kategorienbaum Bnk (3420) den Schlüssel, der den Endpunktknoten 3431 des Kategorienbaums Bnk (3420), der dem Knoten (3431) der obersten Ebene des Kategorienbaums Cnk (3430) entspricht, zugeordnet ist, mit dem erneuerten Schlüssel, der in dem Aktivierungsschlüsselblock, der von dem Kategorienbaum Cn (3430) der unteren Ebene empfangen worden ist, enthalten ist, und der Kategorienbaum Bnk (3420) erneuert seinen eigenen Unter-EKB. 35(c) zeigt die Baumstruktur des Kategorienbaums Bnk (3420). In dem Kategorienbaum Bnk (3420), wie er in 35(c) gezeigt ist, ist es notwendig, die Knotenschlüssel in einem Pfad von der Unter-Wurzel 3421 zu Endpunktknoten 3431, der mit dem Kategorienbaum verbunden ist, der die für ungültig zu erklärende Vorrichtung umfasst, zu erneuern. Insbesondere ist es notwendig, die Knotenschlüssel zu erneuern, die den Knoten 3421, 3424 und 3425 in dem Pfad, der dem Knoten 3431 des Kategorienbaums, der den erneuerten Unter-EKB übertragen hat, verbunden ist, zugeordnet ist. Nach dem Erneuern der Knotenschlüssel, die diesen Knoten entsprechen, erzeugt der Kategorienbaum Bnk (3420) seinen erneuerten Unter-EKB so, um den erneuerten Knotenschlüssel wiederzugeben.
  • Der erneuerte Aktivierungsschlüsselblock (Unter-EKB), der durch den Kategorienbaum Bnk (3420) erzeugt wird, wird an einen Kategorienbaum einer höheren Ebene übertragen. In diesem bestimmten Beispiel entspricht der Kategorienbaum mit der noch höheren Ebene einem Kategorienbaum Ann (3410), der als einer der Endpunktknoten den Knoten 3421 der obersten Ebene des Kategorienbaums Bnk (3420) umfasst.
  • Wenn der Kategorienbaum Ann (3410) den Aktivierungsschlüsselblock (Unter-EKB) von dem Kategorienbaum Bnk (3420) der niedrigeren Ebene empfängt, ersetzt der Kategorienbaum Ann (3410) den Schlüssel, der dem Endpunktknoten 3421 des Kategorienbaum Ann (3410) zugeordnet ist, der dem Knoten 3421 der obersten Ebene des Kategorienbaum Bnk (3420) entspricht, mit dem erneuerten Schlüssel, der in dem Aktivierungsschlüsselblock enthalten ist, der von dem Kategorienbaum der unteren Ebene (3420) empfangen wurde, und der Kategorienbaum Ann (3410) erneuert seinen eigenen Unter-EKB. 35(d) zeigt die Baumstruktur des Kategorienbaums Ann (3410). In dem Kategorienbaum Ann (3410), der in 35(d) gezeigt ist, ist es notwendig, die Knotenschlüssel zu erneuern, die den Knoten 3411, 3414 und 3415 in einem Pfad von der Unter-Wurzel 3411 zu dem Endpunktknoten 3421, der mit dem Kategorienbaum, der den erneuerten Unter-EKB übertragen hat, verbunden ist, zu erneuern. Nach dem Erneuern der Knotenschlüssel, die diesen Knoten entsprechen, erzeugt der Kategorienbaum Ann (3410) seinen erneuerten Unter-EKB, um so die erneuerten Knotenschlüssel zu berücksichtigen.
  • Der oben beschriebene Prozess wird für die weiteren Kategorienbäume der höheren Ebenen durchgeführt, bis der Wurzelkategorienbaum, der in 30(b) gezeigt ist, erneuert worden ist. Über die Abfolge der oben beschriebenen Prozesse wird das Ungültigerklären der Vorrichtung abgeschlossen. Die erneuerten Unter-EKBs, die durch die entsprechenden Kategorienbäume erzeugt worden sind, werden letztendlich an die Schlüsselverteilungsstelle (KDC) übertragen und darin gespeichert. Die Schlüsselverteilungsstelle (KDC) erzeugt verschiedene EKBs auf Basis aller erneuerten Unter-EKBs. Jeder erneuerte EKB weist eine Form eines verschlüsselten Schlüsselblocks auf, der nicht durch die für ungültig erklärte Vorrichtung entschlüsselt werden kann.
  • Die Verfahrensabfolge des Ungültigerklärens der Vorrichtungen ist in 36 gezeigt. In dem Verfahrensablauf, der in 36 gezeigt ist, führt ein Vorrichtungsmanagement-Kategorienbaum (D-En) auf der untersten Ebene der Baumstruktur eine Schlüsselerneuerung aus, die notwendig ist, um ein Blatt von dem Vorrichtungsmanagement-Kategorienbaum (D-En) für ungültig zu erklären und erzeugt eine erneuerte Unter-EKB (D) des Vorrichtungsmanagement-Kategorienbaums (D-En). Der erneuerte Unter-EKB (D) wird an einen Kategorienbaum einer höheren Ebene übertragen. Nach dem Empfangen des erneuerten Unter-EKB (D) erneuert der Kategorienbaum (P1-En) der höheren Ebene (Vorgänger) den Knotenschlüssel, der dem Endpunktknoten zugeordnet ist, der dem obersten Knoten des erneuerten Unter-EKB (D) entspricht, und auch Knotenschlüssel, die dem Knoten zugeordnet sind, in dem Pfad von diesem Endpunktknoten zu der Unter-Wurzel und erzeugt dann einen erneuerten Unter-EKB (P1), um so die erneuerten Knotenschlüssel wiederzugeben.
  • Der oben beschriebene Verfahrensablauf wird für Kategorienbäume der weiter höheren Ebene durchgeführt, und alle erneuerten Unter-EKBs, die abschließend erhalten werden, werden in der Schlüsselverteilungsstelle (KDC) gespeichert und durch diese gemanagt.
  • 37 zeigt ein Beispiel eines erneuerten Aktivierungsschlüsselblocks (EKB), der durch einen Kategorienbaum einer höheren Ebene in einem Verfahren zum Ungültigerklären der Vorrichtung erzeugt wird.
  • In dem bestimmten in 37 gezeigten Beispiel erzeugt infolge eines Empfangens eines erneuerten Unter-EKB von einem Kategorienbaum einer niedrigeren Ebene, der in 37(a) gezeigt ist, und der eine für ungültig zu erklärende Vorrichtung umfasst, ein Kategorienbaum einer höheren Ebene einen erneuerten EKB. Der Knoten der obersten Ebene des Kategorienbaums der unteren Ebene, die die für ungültig zu erklärende Vorrichtung umfasst, entspricht einem Endpunktknoten (Knoten 100) 3601 des Kategorienbaums der höheren Ebene.
  • Der Kategorienbaum der höheren Ebene erneuert die Knotenschlüssel an dem Knoten in dem Pfad von der Unter-Wurzel des Kategorienbaums der höheren Ebene zu dem Endpunktknoten (Knoten 100) 3601 und erzeugt einen erneuerten Unter-EKB, um so die erneuerten Knotenschlüssel zu berücksichtigen. Der resultierende erneuerte Unter-EKB wird in 37(b) gezeigt. In 37(b) sind die erneuerten Schlüssel unterstrichen und hervorgehoben. Wie oben beschrieben, werden die Knotenschlüssel in dem Pfad von dem erneuerten Endpunktknoten zu der Unter-Wurzel erneuert, und die erneuerte Unter-EKB des Kategorienbaums wird so erzeugt, um die Erneuerung der Knotenschlüssel zu berücksichtigen.
  • Nun wird das Ungültigerklären eines Kategorienbaums nachfolgend beschrieben.
  • 38(a) zeigt ein Beispiel einer Schlüsselverteilungsbaumstruktur, die auf Basis von Einheiten von Kategorienbäumen gemanagt wird. In diesem bestimmten Beispiel ist ein Wurzelknoten auf der obersten Ebene des Baums angeordnet, und die Kategorienbäume A01–Ann werden auf einer bestimmten Ebene unter dem Wurzelknoten angeordnet. Kategorienbäume B01–Bnk werden auf einer unteren Ebene angeordnet, und Kategorienbäume C1–Cn werden auf einer noch tieferen Ebene angeordnet. Kategorienbäume auf der untersten Ebene weisen Endpunktknoten (Blätter) auf, die den entsprechenden Vorrichtungen, wie z. B. einem Aufzeichnungs-/Wiedergabegerät und einem Wiedergabegerät zugeordnet sind. Hierbei wird angenommen, dass ein Kategorienbaum Cn (3730) für ungültig erklärt werden sollte. Der Kategorienbaum Cn (3730) auf der untersten Ebene umfasst einen Knoten 3431 der obersten Ebene, wie er in 38(b) gezeigt ist, und mehrere Vorrichtungen sind den entsprechenden Blättern an den Endpunktknoten zugeordnet.
  • Durch Ungültigerklären des Kategorienbaums Cn (3730) ist es möglich, alle Vorrichtungen zu entfernen, die zu dem Kategorienbaum Cn (3730) gehören, von der Baumstruktur gleichzeitig zu entfernen. Das Ungültigerklären des Kategorienbaums Cn (3730) wird durch einen Kategorienbaum Bnk (3720) durchgeführt, der auf einer höheren Ebene als nächstes an dem Kategorienbaum Cn (3730) angeordnet ist. Der Kategorienbaum Bnk (3720) umfasst als einer der Endpunktknoten den Knoten 3731 der obersten Ebene des Kategorienbaums Cn (3730).
  • Um den Kategorienbaum Cn (3730) der unteren Ebene für ungültig zu erklären, erneuert der Kategorienbaum Bnk (3720) einen Endpunktknoten 3731 des Kategorienbaums Bnk (3720), der dem Knoten 3731 der obersten Ebene des Kategorienbaums Cnk (3730) entspricht und erneuert weiterhin Knotenschlüssel in dem Pfad von dem Kategorienbaum 3730, der für ungültig erklärt werden soll, zu der Unter-Wurzel des Kategorienbaums Bnk (3720). Der Kategorienbaum Bnk (3020) erzeugt dann einen Aktivierungsschlüsselblock, der als ein erneuerter Unter-EKB dient. Hierin entsprechen Knotenschlüssel, die erneuert werden sollen, Knotenschlüssel in dem Pfad von der Unter-Wurzel 3721, die in 38(c) gezeigt ist, zu einem Endpunktknoten 3731; der auch dem obersten Knoten des für ungültig zu erklärenden Kategorienbaums entspricht. Insbesondere werden Knotenschlüssel, die den Knoten 3721, 3724, 3725 und 3731 zugeordnet sind, erneuert. Nach dem Erneuern der Knotenschlüssel, die diesen Knoten entsprechen, erzeugt der Kategorienbaum Bnk (3720) ihre erneuerte Unter-EKB, um so die erneuerten Knotenschlüssel zu berücksichtigen.
  • Wenn alternativ der Kategorienbaum Bnk (3720) den Kategorienbaum Cn (3730) der unteren Ebene für ungültig erklärt, kann der Kategorienbaum Bnk (3720) seine Endpunktknoten 3731, der dem Knoten 3731 der obersten Ebene des Kategorienbaums Cnk 3730 entspricht, nicht erneuern, sondern der Kategorienbaum Bnk (3720) kann nur die anderen Knotenschlüssel in dem Pfad von dem Kategorienbaum 3730, der für ungültig erklärt werden soll, zu der Unter-Wurzel des Kategorienbaums Bnk (3720) erneuern und kann einen Aktivierungsschlüsselblock, der als ein erneuerter Unter-EKB dient, erzeugen.
  • Der erneuerte Aktivierungsschlüsselblock (Unter-EKB), der durch den Kategorienbaum Bnk (3720) erzeugt wird, wird an einen Kategorienbaum einer höheren Ebene übertragen. In diesem bestimmten Beispiel entspricht der Kategorienbaum der weiter höheren Ebene einem Kategorienbaum Ann (3710), der als einer der Endpunktknoten den Knoten 3721 der obersten Ebene des Kategorienbaums Bnk (3720) umfasst.
  • Wenn der Kategorienbaum Ann (3710) den Aktivierungsschlüsselblock (Unter-EKB) von dem Kategorienbaum Bnk (3720) der unteren Ebene empfängt, ersetzt der Kategorienbaum Ann (3710) den Schlüssel, der dem Endpunktknoten 3721 des Kategorienbaums Ann (3710) zugeordnet ist, der dem Knoten 3721 der obersten Ebene des Kategorienbaum Bnk (3720) entspricht, mit dem erneuerten Schlüssel, der in dem Aktivierungsschlüsselblock umfasst ist, der von dem Kategorienbaum Bnk (3720) empfangen wird, und der Kategorienbaum Ann (3710) erneuert seinen eigenen Unter-EKB. 38(d) zeigt die Baumstruktur des Kategorienbaums Ann (3710). In dem Kategorienbaum Ann (3710), wie in 38(d) gezeigt ist, ist es notwendig, die Knotenschlüssel, die den Knoten 3711, 3714 und 3715 zugeordnet sind, in einem Pfad von der Unter-Wurzel 3711 zu dem Endpunktknoten 3721, die mit dem Kategorienbaum verbunden sind, der den erneuerten Unter-EKB übertragen hat, zu erneuern. Nach dem Erneuern der Knotenschlüssel, die diesem Knoten entsprechen, erzeugt der Kategorienbaum Ann (3710) einen erneuerten Unter-EKB, um so die erneuerten Knotenschlüssel wiederzugeben.
  • Der oben beschriebene Verfahrensablauf wird für die Kategorienbäume der weiter höheren Ebenen durchgeführt, bis der Wurzelkategorienbaum, der in 30(b) gezeigt ist, erneuert worden ist. Über den Verfahrensablauf der oben beschriebenen Prozesse wird das Ungültigerklären des Kategorienbaums beendet: Die erneuerten Unter-EKBs, die durch die entsprechenden Kategorienbäume erzeugt werden, werden letztendlich an die Schlüsselverteilungsstelle (KDC) übertragen und darin gespeichert. Die Schlüsselverteilungsstelle (KDC) erzeugt verschiedene EKBs auf der Basis von allen erneuerten Unter-EKBs. Jeder erneuerte EKB weist eine Form eines verschlüsselten Schlüsselblocks auf, der nicht durch eine Vorrichtung, die zum dem für ungültig erklärten Kategorienbaum gehört, entschlüsselt werden kann.
  • Die Verfahrensabfolge des Ungültigerklärens des Kategorienbaumes ist in 39 gezeigt. In der Verfahrensfolge, die in 39 gezeigt ist, führt der Kategorienbaum (E-En) für das Kategorienbaum-Management, der einen Kategorienbaum für ungültig erklären will, eine Schlüsselerneuerung durch, die benötigt wird, um einen Endpunktknoten, der für ungültig erklärt werden soll, von dem Kategorienbaum (E-En) für das Kategorienbaum-Management zu isolieren und erzeugt einen erneuerten Unter-EKB (E) des Kategorienbaums (E-En) für das Kategorienbaum-Management. Der erneuerte Unter-EKB (E) wird an einen Kategorienbaum einer höheren Ebene übertragen. Nach dem Empfangen des erneuerten Unter-EKB (E) erneuert der Kategorienbaum der höheren Ebene (Vorgänger) (P1-En) den Knotenschlüssel, der dem Endpunktknoten zugeordnet ist, der dem erneuerten obersten Knoten des erneuerten Unter-EKB (E) entspricht, und auch Knotenschlüssel, die Knoten zugeordnet sind, in dem Pfad von diesem Endpunktknoten zu der Unter-Wurzel und dann einen erneuerten Unter-EKB (P1) erzeugt, um so die erneuerten Knotenschlüssel wiederzugeben. Der oben beschriebene Verfahrensablauf wird für weitere Kategorienbäume höherer Ebenen durchgeführt, und alle erneuerten Unter-EKBs, die man schließlich erhält, werden in der Schlüsselverteilungsstelle (KDC) gespeichert und durch diese gemanagt. Die Schlüsselverteilungsstelle (KDC) erzeugt verschiedene EKBs auf der Basis von allen erneuerten Unter-EKBs. Jeder erneuerte EKB hat eine Form eines verschlüsselten Schlüsselblocks, der nicht durch irgendeine Vorrichtung entschlüsselt werden kann, die zu dem für ungültig erklärten Kategorienbaum gehört.
  • 40 zeigt die Zuordnung zwischen einem für ungültig erklärten Kategorienbaum niedriger Ebene und einem Kategorienbaum einer höheren Eben, der den Kategorienbaum niedriger Ebene für ungültig erklärt. Ein Endpunktknoten 3901 des Kategorienbaums der höheren Ebene wird infolge des Ungültigerklärens des Kategorienbaums erneuert, und dann werden die Knotenschlüssel in dem Pfad von dem Endpunktknoten 3901 zu der Unter-Wurzel des Kategorienbaums der höheren Ebene erneuert. Weiterhin wird ein neuer Unter-EKB so erzeugt, dass die Erneuerung der Knotenschlüssel berücksichtigt wird. Als Ergebnis werden der Knotenschlüssel des obersten Knoten 3902 des für ungültig erklärten Kategorienbaums niedriger Ebene und der Knotenschlüssel des Endpunktknotens 3901 des Kategorienbaums der höheren Ebene voneinander verschieden. Weil jeder EKB, der durch die Schlüsselverteilungsstelle (KDC) nach dem Ungültigerklären des Kategorienbaums erzeugt wird, auf dem Schlüssel des Endpunktknoten 3901 basiert, der durch den Kategorienbaum der höheren Ebene erneuert wird, kann keine Vorrichtung, die einem Blatt des Kategorienbaums der unteren Ebene entspricht, den erneuerten Schlüssel aufweisen und kann somit nicht den EKB, der durch die Schlüsselverteilungsstelle (KDC) erzeugt wird, entschlüsseln.
  • Obwohl in dem obigen Beispiel der Kategorienbaum auf der untersten Ebene, der Vorrichtungen managt, für ungültig erklärt wird, kann ein Kategorienbaum, der auf einer mittleren Ebene angeordnet ist, und der einen Kategorienbaum einer unteren Ebene managt, auch durch einen Kategorienbaum für ungültig erklärt werden, der auf einer nächst höheren Ebene zu dem für ungültig zu erklärenden Kategorienbaum angeordnet ist, auf ähnliche Weise wie oben beschrieben. Durch Ungültigerklären eines Einheitenmanagement-Kategorienbaums auf einer mittleren Ebene ist es möglich, alle Kategorienbäume niedrigerer Ebenen gleichzeitig für ungültig zu erklären und Vorrichtungen, die direkt oder indirekt zu dem für ungültig erklärten Kategorienbaum gehören.
  • Wie oben beschrieben, ermöglicht es das Ungültigerklären eines Kategorienbaums, ein Ungültigerklären einfacher durchzuführen als in dem Fall, bei dem das Ungültigerklären in Einheiten von Vorrichtungen durchgeführt wird.
  • [Management der Fähigkeit eines Kategorienbaums]
  • Wenn Schlüssel auf der Basis von Kategorienbäumen verteilt werden, kann die Fähigkeit jeder Einheit gemanagt werden, und ein Inhalt kann abhängig von der Fähigkeit wie unten beschrieben verteilt werden. Hierin wird der Ausdruck Fähigkeit verwendet, um darzustellen oder zu definieren, welche Arten von Inhalten oder Programmen eine Vorrichtung verarbeiten kann. Beispiele von Fähigkeiten ist eine Fähigkeit zum Dekomprimieren von Audiodaten, die gemäß eines bestimmten Kompressionsschema komprimiert sind, eine Fähigkeit einer Audiowiedergabe gemäß einem bestimmten Schema und eine Fähigkeit, mit einem bestimmten Bildverarbeitungsprogramm umzugehen.
  • 41 zeigt ein Beispiel einer Kategorienbaumstruktur, die eine Fähigkeiten-Definitionsinformation umfasst. Ein Wurzelknoten ist auf der obersten Ebene der Schlüsselverteilungsbaumstruktur angeordnet, und mehrere Kategorienbäume in der Form eines Binärbaumes sind auf unteren Ebenen angeordnet. Zum Beispiel ist ein Kategorienbaum 4001 definiert, dass er eine Audiowiedergabefähigkeit gemäß einer der Audiowiedergabeschemata A, B und C aufweist. Insbesondere wenn z. B. Musikdaten, die durch ein Audiokomprimierungsprogramm A, B oder C komprimiert sind, verteilt werden, kann jede Vorrichtung, die zu dem Kategorienbaum gehört, die als ein Kategorienbäume unterer Ebenen zu dem Kategorienbaum 4001 gehören, die komprimierten Daten dekomprimieren.
  • Auf ähnliche Weise ist ein Kategorienbaum 4002 mit einer Audiowiedergabefähigkeit gemäß einem der Audiowiedergabeschemata B und C definiert, ein Kategorienbaum 4003 als mit einer Audiowiedergabefähigkeit gemäß einem der Audiowiedergabeschemata A und B definiert, ein Kategorienbaum 4004 als mit einer Audiowiedergabefähigkeit gemäß dem Audiowiedergabeschema B definiert und ein Kategorienbaum 4005 als mit einer Audiowiedergabefähigkeit gemäß dem Audiowiedergabeschema C definiert.
  • Andererseits ist ein Kategorienbaum 4021 als mit einer Videowiedergabefähigkeit gemäß einem der Schemata p, q und r definiert, ein Kategorienbaum 4022 als mit einer Videowiedergabefähigkeit gemäß einem der Schemata p und q definiert und ein Kategorienbaum 40023 als mit einer Videowiedergabefähigkeit gemäß dem Schema p definiert.
  • Die Fähigkeiteninformation der entsprechenden Kategorienbäume wird durch die Schlüsselverteilungsstelle (KDC) gemanagt. Wenn z. B. ein bestimmter Inhalte-Anbieter Musikdaten verteilen möchte, die mit einem bestimmten Kompressionsprogramm komprimiert sind, an verschiedene Vorrichtungen, erzeugt die Schlüsselverteilungsstelle (KDC) einen Aktivierungsschlüsselblock (EKB), der nur durch die Vorrichtungen entschlüsselt werden kann, die fähig sind, die Musikdaten, die durch dieses bestimmte Kompressionsprogramm komprimiert sind, wiederzugeben auf der Basis der Fähigkeiteninformation der entsprechenden Kategorienbäume. Der Inhalte-Anbieter verschlüsselt einen Inhaltsschlüssel mit Hilfe des Aktivierungsschlüsselblocks (EKB), der gemäß der Fähigkeiteninformation erzeugt wird, und verteilt den resultierenden verschlüsselten Inhaltsschlüssel. Der Inhalte-Anbieter stellt auch komprimierte Musikdaten, die mit Hilfe des Inhaltsschlüssels verschlüsselt sind, Vorrichtungen zur Verfügung. Dies ermöglicht es, sicher ein bestimmtes Verarbeitungsprogramm nur an diejenigen Vorrichtungen zur Verfügung zu stellen, die in der Lage sind, diese Daten zu verarbeiten.
  • In dem in 41 gezeigten Beispiel wird die Fähigkeiteninformation für alle Kategorienbäume definiert. Jedoch muss man nicht notwendigerweise die Fähigkeiteninformation für alle Kategorienbäume definieren. Wie z. B. in 42 gezeigt ist, wird die Fähigkeiteninformation nur für die Kategorienbäume der untersten Ebene, die sich direkt auf die Vorrichtungen bezieht, definiert und die Fähigkeiteninformation von Vorrichtungen, die zu den Kategorienbäumen der untersten Ebene gehören wird durch die Schlüsselverteilungsstelle (KDC) gemanagt. In diesem Fall erzeugt infolge einer Anfrage von einem Inhalte-Anbieter die Schlüsselverteilungsstelle (KDC) einen Aktivierungsschlüsselblock (EKB), der nur durch die Vorrichtungen entschlüsselt werden kann, die eine Fähigkeit aufweisen, die durch den Inhalte-Anbieter bestimmt ist, auf der Basis der Fähigkeiteninformation, die für die Kategorienbäume der untersten Ebene definiert sind. In dem in 42 gezeigten Beispiel werden Fähigkeiten für Kategorienbäume 41014105 definiert, deren Endpunktknoten sich auf Vorrichtungen beziehen, und die Fähigkeiten der entsprechenden Kategorienbäume werden durch die Schlüsselverteilungsstelle (KDC) gemanagt. Zum Beispiel beziehen sich Vorrichtungen mit einer Audiowiedergabefähigkeit gemäß dem Schema B und mit einer Videowiedergabefähigkeit gemäß dem Schema r auf den Kategorienbaum 4101, Vorrichtungen mit einer Audiowiedergabefähigkeit gemäß dem Schema A und mit einer Videowiedergabefähigkeit gemäß dem Schema q auf den Kategorienbaum 4102.
  • 43 zeigt ein Beispiel einer Fähigkeiten-Managementtabelle, die von der Schlüsselverteilungsstelle (KDC) gemanagt wird. 43(a) zeigt das Datenformat der Fähigkeiten-Managementtabelle. Ein Kategorienbaum ID entspricht einem Identifizierer, der einen Kategorienbaum identifiziert. Eine Fähigkeitenliste gibt Fähigkeiten an, die für einen Kategorienbaum, der durch eine Kategorienbaum-ID angegeben ist, definiert sind. Wie in 43(b) gezeigt ist, besteht die Fähigkeitenliste aus mehreren Bits, die jeweils angeben, ob verschiedene Fähigkeiten verfügbar sind oder nicht. Wenn z. B. die Audiodatenwiedergabefähigkeit gemäß dem Schema A verfügbar ist, wird das entsprechende Bit auf „1" gesetzt, jedoch das Bit auf „0" gesetzt, wenn die Fähigkeit nicht verfügbar ist. Auf ähnliche Weise wird für die Audiodatenwiedergabefähigkeit gemäß dem Schema B das entsprechende Bit auf „1" gesetzt, wenn die Fähigkeit verfügbar ist, aber das Bit auf „0" gesetzt, wenn die Fähigkeit nicht verfügbar ist. Es wird angemerkt, dass das Verfahren zum Festlegen der Fähigkeiteninformation nicht auf das oben beschriebene beschränkt ist, sondern ein anderes Verfahren kann verwendet werden, solange das Verfahren die Fähigkeiten der Vorrichtungen, die durch den Kategorienbaum gemanagt werden, angeben kann.
  • Die Fähigkeiten-Managementtabelle umfasst weiterhin Daten, die den Unter-EKB jedes Kategorienbaums angeben. In einem Fall, bei dem Unter-EKBs getrennt voneinander in einer anderen Datenbank gespeichert sind, wird die Identifikationsinformation des Unter-EKBs anstelle des Unter-EKBs selbst beschrieben. Weiterhin umfasst die Fähigkeiten-Managementtabelle auch Daten, die den Unter-Wurzelknoten jedes Kategorienbaums angeben.
  • Auf der Basis der Fähigkeiten-Managementtabelle erzeugt die Schlüsselverteilungsstelle (KDC) einen Aktivierungsschlüsselblock (EKB), der nur durch Vorrichtungen entschlüsselt werden kann, die die Fähigkeit zum Wiedergeben eines bestimmten Inhalts aufweisen. Mit Bezug auf 44 wird der Prozess des Herstellens des Aktivierungsschlüsselblocks auf der Basis der Fähigkeiteninformation nachfolgend beschrieben.
  • Zunächst wählt in Schritt S4301 die Schlüsselverteilungsstelle (KDC) einen Kategorienbaum aus mit einer bestimmten Fähigkeit aus der Fähigkeiten-Managementtabelle. Insbesondere, wenn z. B. ein Inhalte-Anbieter Audiodaten gemäß dem Audiodatenwiedergabeschema A verteilen möchte, durchsucht die Schlüsselverteilungsstelle (KDC) die Fähigkeitenliste, die in 43(a) gezeigt ist, und wählt Kategorienbäume mit einem Wert von „1" in dem Bit, das die Audiodatenwiedergabefähigkeit gemäß dem Schema A angibt, aufweist.
  • Dann erzeugt die Schlüsselverteilungsstelle (KDC) in Schritt S4302 eine Liste von IDs der ausgewählten Kategorienbäume. Danach wählt in Schritt S4303 die Schlüsselverteilungsstelle (KDC) einen Pfad aus, der in einem Baum enthalten sein sollte, der durch die ausgewählten Kategorienbäume gebildet ist, die durch diese IDs angegeben sind (d. h. ein Pfad, der in einem Schlüsselverteilungsbaum enthalten sein soll). In Schritt S4304 wird festgelegt, ob alle Pfade, die in den ausgewählten Kategorienbaum-IDs enthalten sind; ausgewählt worden sind. Wenn nicht alle Pfade ausgewählt worden sind, wird die Auswahl von Pfaden in Schritt 4303 durchgeführt, bis alle Pfade ausgewählt worden sind. Das heißt in dem Fall, bei dem mehrere Kategorienbäume ausgewählt werden, werden Pfade, die den entsprechenden Kategorienbäumen entsprechen, nacheinander ausgewählt.
  • Wenn alle Pfade, die in den ausgewählten Kategorienbaum-IDs enthalten sind, ausgewählt worden sind, wird das Verfahren mit Schritt S4305 fortgesetzt. In Schritt 4305 wird eine Schlüsselverteilungsbaumstruktur nur mit den ausgewählten Kategorienbäumen erzeugt.
  • Dann werden in Schritt S4306 Knotenschlüssel, die in der Baumstruktur, die in Schritt S4305 erzeugt wird, enthalten sind, erneuert, wodurch erneuerte Knotenschlüssel erzeugt werden. Weiterhin werden Unter-EKBs der ausgewählten Kategorienbäume, die in der Schlüsselverteilungsbaumstruktur enthalten sind, von der Fähigkeiten-Managementtabelle extrahiert. Auf der Basis der extrahierten Unter-EKBs und der erneuerten Knotenschlüssel, die in Schritt S4306 erzeugt werden, wird ein Aktivierungsschlüsselblock (EKB) so erzeugt, dass er nur durch die Vorrichtungen entschlüsselt werden kann, die in den ausgewählten Kategorienbäumen enthalten sind. Der Aktivierungsschlüsselblock (EKB), der auf oben beschriebene Weise erzeugt worden ist, kann nur durch die Vorrichtungen mit der bestimmten Fähigkeit verwendet werden, d. h. der Aktivierungsschlüsselblock (EKB) kann nur durch derartige Vorrichtungen entschlüsselt werden. Wenn z. B. ein Inhaltsschlüssel mit Hilfe dieses Aktivierungsschlüsselblocks (EKB) verschlüsselt wird, und ein Inhalt, der durch das bestimmte Programm komprimiert wird, wird mit Hilfe dieses Inhaltsschlüssel verschlüsselt, und wenn der resultierende verschlüsselte Inhaltsschlüssel und Inhalt den Vorrichtungen bereitgestellt wird, können nur die Vorrichtungen mit der bestimmten Fähigkeit, die durch die Schlüsselverteilungsstelle (KDC) ausgewählt ist, den Inhalt verwenden.
  • Wie oben beschrieben, erzeugt die Schlüsselverteilungsstelle (KDC) einen Aktivierungsschlüsselblock (EKB), der nur durch Vorrichtungen mit der Fähigkeit zum Wiedergeben eines bestimmten Inhalts auf der Basis der Fähigkeiten-Managementtabelle entschlüsselt werden kann. Wenn somit ein neuer Kategorienbaum registriert wird, ist es notwendig, die Fähigkeiteninformation des neuen Kategorienbaums, der registriert werden soll, zu erhalten. Das Verfahren zum Mitteilen der Fähigkeit in dem Registrierungsprozess für den neuen Kategorienbaum wird nachfolgend mit Bezug auf 45 beschrieben.
  • 45 zeigt einen Verfahrensablauf zur Fähigkeitenmitteilung, der durchgeführt wird, wenn ein neuer Kategorienbaum der Schlüsselverteilungsbaumstruktur hinzugefügt wird.
  • Ein neuer (Nachfolger) Kategorienbaum (N-En), der der Baumstruktur hinzugefügt werden soll, gibt eine neue Registrierungsanfrage an einen Kategorienbaum (P-En) einer höheren Ebene (Vorgänger) aus. Jeder Kategorienbaum weist seinen eigenen öffentlichen Schlüssel gemäß dem Kryptografieschema mit einem öffentlichen Schlüssel auf. Wenn der neue Kategorienbaum die Registrierungsanfrage ausgibt, überträgt dieser seinen öffentlichen Schlüssel an den Kategorienbaum (P-En) der höheren Ebene.
  • Nach dem Empfangen der Registrierungsanfrage überträgt der Kategorienbaum (P-En) der höheren Ebene den empfangenen öffentlichen Schlüssel des neuen Kategorienbaums (N-En) (Nachfolger) an eine Zertifikatsautorität (CA), um einen öffentlichen Schlüssel des neuen (Nachfolger) Kategorienbaums mit einer Signatur von CA zu empfangen. Der obige Verfahrensablauf wird mit gegenseitiger Authentifizierung zwischen dem Kategorienbaum (P-En) der höheren Ebene und des neuen (Nachfolger) Kategorienbaums (N-En) durchgeführt.
  • Wenn die Authentifizierung des Kategorienbaums, der eine neue Registrierung anfragt, über den obigen Verfahrensablauf beendet ist, erteilt der Kategorienbaum (P-En) der höheren Ebene die Erlaubnis der Registrierung des neuen (Nachfolger) Kategorienbaums (N-En) und überträgt einen Knotenschlüssel, der dem neuen (Nachfolger) Kategorienbaum zugeordnet ist, an den neuen (Nachfolger) Kategorienbaum (N-En). Dieser Knotenschlüssel entspricht einem der Endpunktknoten des Kategorienbaums (P-En) der oberen Ebene und entspricht auch dem obersten Knoten oder einem Unter-Wurzelschlüssel des neuen (Nachfolger) Kategorienbaums (N-En).
  • Nach der Beendigung der Übertragung des Knotenschlüssels erstellt der neue (Nachfolger) Kategorienbaum (N-En) eine Baumstruktur des neuen (Nachfolger) Kategorienbaums (N-En) und stellt die empfangenen Unter-Wurzelschlüssel an den Knoten der obersten Ebene der Baumstruktur. Weiterhin werden Schlüssel an entsprechenden Knoten und Blättern festgelegt, und ein Aktivierungsschlüsselblock (Unter-EKB), der dem Kategorienbaum zugeordnet ist, wird erzeugt. Andererseits erzeugt der Kategorienbaum (P-En) der oberen Ebene ein Unter-EKB, der dem Kategorienbaum (P-En) der oberen Ebene zugeordnet ist, so dass ein Endpunktknoten, der aktiviert wird, wenn der neue (Nachfolger) Kategorienbaum mit diesem verbunden wird, in dem Unter-EKB berücksichtigt wird.
  • Wenn die Erzeugung des Unter-EKBs, der die Knotenschlüssel und Blattschlüssel des neuen (Nachfolger) Kategorienbaums (N-En) umfasst, beendet ist, überträgt der neue (Nachfolger) Kategorienbaum (N-En) den erzeugten Unter-EKB an den Kategorienbaum (P-En) der höheren Ebene. Weiterhin überträgt der neue (Nachfolger) Kategorienbaum (N-En) die Fähigkeiteninformation von Vorrichtungen, die durch den Kategorienbaum gemanagt werden, an den Kategorienbaum der oberen Ebene.
  • Nach dem Empfangen des Unter-EKB und der Fähigkeiteninformation von dem neuen (Nachfolger) Kategorienbaum (N-En) überträgt der Kategorienbaum (P-En) der oberen Ebene den empfangenen Unter-EKB und die Fähigkeiteninformation gemeinsam mit einem erneuerten Unter-EKB des Kategorienbaums (P-En) der oberen Ebene an die Schlüsselverteilungsstelle (KDC).
  • Die Schlüsselverteilungsstelle (KDC) registriert den empfangenen Unter-EKB und die Fähigkeiteninformation des Kategorienbaums in der Fähigkeiten-Managementtabelle, die oben mit Bezug auf 43 beschrieben worden ist, wodurch man eine aktualisierte Fähigkeiten-Managementtabelle erhält. Auf der Basis der erneuerten Fähigkeiten-Managementtabelle kann die Schlüsselverteilungsstelle (KDC) einen EKB auf verschiedene Weisen erzeugen. Zum Beispiel kann der EKB erzeugt werden, so dass nur ein bestimmter Kategorienbaum und eine bestimmte Vorrichtung den EKB entschlüsseln kann.
  • [Management des EKB mit Hilfe der EKB-Typ-Definitionsliste]
  • Wenn ein EKB so erzeugt wird, dass er durch einen oder mehrere ausgewählte Kategorienbäume entschlüsselt werden kann, und der resultierende EKB so bereitgestellt wird, dass er gemeinsam durch Vorrichtungen verwendet werden kann, die zu den entsprechenden ausgewählten Kategorienbäumen gehören, wird ein Verfahren des Verwendens einer EKB-Typ-Definitionsliste, die angibt, welcher Kategorienbaum den EKB verwenden oder entschlüsseln kann, nachfolgend beschrieben.
  • Wenn bei der vorliegenden Ausführungsform die Schlüsselverteilungsstelle (KDC) eine EKB-Ausgabeanfrage von einem EKB-Anforderer, wie z. B. einem Inhalte-Anbieter, der möchte, dass die Schlüsselverteilungsstelle (KDC) einen EKB zur Verwendung durch den EKB-Anforderer ausgibt, empfängt, wobei ein EKB-Typ-Identifikationsnummer an den EKB angibt, der in einer EKB-Typ-Definitionsliste, die in der empfangenen EKB-Ausgabeanfrage enthalten ist, beschrieben ist, angibt, so dass der resultierende EKB von einem oder mehreren Kategorienbäumen verarbeitet (entschlüsselt) werden kann.
  • In dem Verfahren des Erzeugens des EKBs gemäß den Identifizierern der obersten Knoten der entsprechenden Kategorienbäume, die gemäß der EKB-Typ-Identifikationsnummer, die in der EKB-Typ-Definitionsliste beschrieben sind, festgelegt sind, fragt die Schlüsselverteilungsstelle (KDC) bei den Kategorieneinheiten der obersten Ebene (TLCE) an, die den Kategorienbaum-Managern entsprechen, ihre Unter-EKBs zu erzeugen. Wenn die Unter-EKBs, die durch die entsprechenden TLCEs erzeugt werden, empfangen werden, komprimiert die Schlüsselverteilungsstelle (KDC) den empfangenen Unter-EKBs in einen EKB, der durch die Kategorienbäume verarbeitet werden kann.
  • Bei der vorliegenden Ausführungsform kann der EKB-Anforderer, wie z. B. der Inhalte-Anbieter (CP) bestimmte Kategorienbäume auf Basis der EKB-Typ-Definitionsliste auswählen. Nachdem der EKB-Anforderer, wie z. B. der Inhalte-Anbieter (CP) bestimmte Kategorienbäume auf der Basis der EKB-Typ-Definitionsliste ausgewählt hat, fragt der EKB-Anforderer bei der Schlüsselverteilungsstelle (KDC) nach, einen EKB auszugeben, der durch die ausgewählten bestimmten Kategorienbäume verarbeitet werden kann. Infolge der EKB-Anfrage fragt die Schlüsselverteilungsstelle (KDC) bei der Managementeinheit des ausgewählten Kategorienbaums an, einen Unter-EKB auszugeben. Die Managementeinheit jedes ausgewählten Kategorienbaums erzeugt einen EKB, der nur von den anderen Vorrichtungen der Managementeinheit als die für ungültig erklärten Vorrichtungen verarbeitet werden kann, und überträgt den resultierenden EKB an die Schlüsselverteilungsstelle (KDC). Die Schlüsselverteilungsstelle (KDC) kombiniert den einen oder die mehreren Unter-EKBs, wodurch ein EKB erzeugt wird, der nur durch die Kategorienbäume verarbeitet werden kann, die durch den EKB-Anforderer ausgewählt werden, und stellt den resultierenden EKB dem EKB-Anforderer zur Verfügung. Nach dem Empfangen der EKB von der Schlüsselverteilungsstelle (KDC) erzeugt der EKB-Anforderer einen verschlüsselten Schlüssel oder verschlüsselten Inhalt, der nur mit Hilfe eines Schlüssels entschlüsselt werden kann, den man durch Verarbeiten der EKB erhält, und verteilt den resultierenden verschlüsselten Schlüssel oder Inhalt. Zunächst werden verschiedene Einheiten in dem System kurz beschrieben.
  • Schlüsselverteilungsstelle (KDC)
  • Eine Schlüsselverteilungsstelle gibt Aktivierungsschlüsselblöcke (EKB) aus und managt eine EKB-Typ-Definitionsliste, die den ausgegebenen EKBs zugeordnet ist.
  • Kategorieneinheit (TLCE) der obersten Ebene
  • Eine Kategorieneinheit (TLCE) der obersten Ebene entspricht einer Einheit, die einen Kategorienbaum managt, wie z. B. einen Formathalter einer Aufzeichnungsvorrichtung, die einen Kategorienbaum managt. Der TLCE managt den Kategorienbaum, erzeugt eine Unter-EKB, die von Vorrichtungen in dem Kategorienbaum, der durch den TLCE gemanagt wird, verarbeitet (entschlüsselt) werden kann und stellt den resultierenden Unter-EKB der Schlüsselverteilungsstelle (KDC) zur Verfügung.
  • EKB-Anforderer
  • Ein EKB-Anforderer entspricht z. B. einer Einheit, wie z. B. einem Inhalte-Provider, der als einen elektronischen Inhalte-Verteilungs-(ECD-)Dienst verschiedene Inhalte, wie z. B. Videodaten, Audiodaten oder Programme zur Verfügung stellt. Ein weiteres Beispiel eines EKB-Anforderers ist ein Formathalter eines Speichermediums. Der Inhalte-Anbieter stellt einen verschlüsselten Inhalt, Schlüssel oder Medium zur Verfügung, die mit Hilfe eines Schlüssels entschlüsselt werden können, den man durch Verarbeiten eines EKBs, der durch die Schlüsselverteilungsstelle (KDC) infolge einer Anfrage, die von dem Inhalte-Anbieter ausgegeben wird, erhalten kann.
  • Zum Beispiel verschlüsselt der Inhalte-Anbieter (CP) einen Inhalt mit Hilfe eines Wurzelschlüssels, der in dem EKB beschrieben ist, der durch die Schlüsselverteilungsstelle (KDC) erzeugt wird, und verteilt den resultierenden verschlüsselten Inhalt. Der Formathalter des Speichermediums verteilt Medien nach dem Schreiben der EKB auf die Speichermedien während ihrer Erzeugung, so dass ein Inhalt, der mit Hilfe eines Wurzelschlüssels der EKB verschlüsselt worden ist, darauf gespeichert werden kann.
  • (TLCE und kategorienbasiertes Baum-Management)
  • Das kategorienbasierte Baum-Management wurde bereits oben beschrieben. Hierin wird die Beziehung zwischen der Kategorieneinheit der obersten Ebene (TLCE) und dem Kategorienbaum mit Bezug auf 46 beschrieben.
  • Wie oben beschrieben, entspricht jede Kategorie einer Gruppe von Vorrichtungen mit ähnlichen Merkmalen. Insbesondere entspricht ein Beispiel einer Kategorie einer Gruppe von Merkmalen, die von dem gleichen Hersteller hergestellt worden sind. Ein weiteres Beispiel entspricht einer Gruppe von Vorrichtungen, die mit einem bestimmten Codierungsformat verarbeiten können. In 46 bezeichnen A, B, C und D Kategorienbäume.
  • In 46 weist ein Wurzelbaum auf der obersten Ebene eine Baumstruktur mit z. B. 8 Ebenen (8 Knotenebenen) auf. Knoten der obersten Ebene der entsprechenden Kategorienbäume sind auf der untersten Ebene des Wurzelbaums angeordnet. Die Kategorienbäume können sich aufeinander beziehen, so dass sich ein bestimmter Kategorienbaum auf einer höheren Ebene befindet als ein anderer Kategorienbaum. In dem bestimmten in 46 gezeigten Beispiel beziehen sich Kategorienbäume C und D aufeinander, wobei der Kategorienbaum C einem Kategorienbaum einer höheren Ebene, bezogen auf den Kategorienbaum D bei einer niedrigeren Ebene entspricht.
  • Jeder Kategorienbaum, der direkt mit dem Wurzelbaum auf der obersten Ebene verbunden ist, wird als ein Kategorienbaum der obersten Ebene bezeichnet, und eine Einheit, die einen Kategorienbaum der obersten Ebene managt, wird als Kategorieneinheit (TLCE) der obersten Ebene bezeichnet. In dem bestimmten in 46 gezeigten Beispiel entsprechen Kategorienbäume A, B und C Kategorien der obersten Ebene und Einheiten, die diese Kategorien der obersten Ebene managen sind Kategorieneinheiten (TLCEs) der obersten Ebene. Jede Kategorieneinheit der obersten Ebene (TLCE) ist grundsätzlich für das Managen von allen Kategorienbäumen verantwortlich, die den Kategorienbaum der obersten Ebene selbst und Kategorienbäumen von unteren Ebenen, die sich auf den Kategorienbaum der obersten Ebene beziehen, verantwortlich. In dem bestimmten in 46 gezeigten Beispiel managt der TLCE, der den Kategorienbaum C managt, auch ebenfalls den Kategorienbaum D. Wenn ein weiterer Kategorienbaum auf einer weiter niedrigeren Ebene vorhanden ist, die sich auf den Kategorienbaum D bezieht, managt der TLCE, der den Kategorienbaum C managt, auch den Kategorienbaum der weiter unteren Ebene. Jedoch kann eine weitere Kategorieneinheit (Unterkategorieneinheit) gebildet werden, und die Verantwortlichkeit und das Recht des Managements des Kategorienbaums D der unteren Ebene kann zu dieser Unterkategorieneinheit delegiert werden.
  • Jede Vorrichtung, die einen Inhalt verwendet, wie z. B. ein Aufzeichnungs-/Wiedergabegerät, wird durch die Kategorieneinheit (TLCE) der obersten Ebene einem Blatt eines bestimmten Baumes zugeordnet, und die Vorrichtung speichert einige der Schlüssel, die den Knoten in einem Pfad von diesem Blatt zu der Wurzel zugeordnet sind. Eine Gruppe von Knotenschlüsseln, die in einer Vorrichtung gespeichert sind, wird als Vorrichtungsknotenschlüssel-(DNK-)Gruppe bezeichnet. Die Anzahl der Schlüssel, die in jeder Vorrichtung gespeichert sind (die Anzahl der Schlüssel in einer DNK-Gruppe) wird durch die Kategorieneinheit (TLCE) der obersten Ebene bestimmt.
  • 47 skizziert die Verarbeitungsschritte, die in den entsprechenden Einheiten durchgeführt werden, wie z. B. eine Schlüsselverteilungsstelle (KDC), eine Kategorieneinheit (TLCE) einer obersten Ebene und einen EKB-Anforderer.
  • Eine Schlüsselverteilungsstelle (KDC) 4511 ist in einer Managementeinheit 4510 eines baumbasierten EKB-Verteilungssystem enthalten. Die Managementeinheit 4510 umfasst weiterhin eine Zertifikatautorität (CA) 4512, die eine Signatur auf jedem EKB schreibt.
  • Die Schlüsselvereilungsstelle (KDC) 4511 managt Schlüssel der Unterbäume, wie z. B. die Kategorienbäume der obersten Ebene. Die Schlüsselverteilungsstelle (KDC) 4511 managt auch eine EKB-Typ-Definitionsliste, die nachfolgend beschrieben wird und EKBs erzeugt. Die Zertifikatautorität (CA) 4512 schreibt eine Signatur auf jedem EKB, der durch die Schlüsselverteilungsstelle (KDC) erzeugt wird, und gibt einen öffentlichen Schlüssel entsprechend eines geheimen Schlüssels, auf den eine Signatur geschrieben wird, zur Verwendung bei einer Überprüfung der Signatur aus.
  • Ein EKB-Anforderer 4520 fordert bei der Schlüsselvereilungsstelle (KDC) 4511 an, einen EKB auszugeben. Der EKB-Anforderer kann einem Inhalte-Anbieter (CP) entsprechen, der ein Inhalte speicherndes Medium, wie z. B. eine CD oder DVD bereitstellt, auf dem ein Inhalt gespeichert ist, einem Inhalte-Anbieter (CP) entsprechen, der einen digitalen Inhalt verteilt oder einem Speichersystem-Lizensierer entsprechen, der eine Lizenz eines Formats eines Speichersystems, wie z. B. ein Flashspeicher bereitstellt.
  • Jeder EKB-Anforderer 4520 stellt einen EKB entsprechend einem Inhalt, einem Medium oder einem Lizensierungsformat zur Verfügung, so dass ein Schlüssel, der zur Verwendung des Inhalts, des Mediums oder des Lizensierungsformats, und der von dem EKB-Anforderer bereitgestellt wird, durch Verarbeiten des EKB extrahiert werden kann. Jeder EKB wird von der Schlüsselverteilungsstelle (KDC) 4511 infolge einer EKB-Anfrage, die an die Schlüsselverteilungsstelle (KDC) 4511 von dem EKB-Anforderer 4520 gesendet wird, erzeugt. Wenn der EKB-Anforderer 4520 einen EKB empfängt, der infolge einer EKB-Anfrage, die an die Schlüsselverteilungsstelle (KDC) 4511 gesendet wird, ausgegeben wird, kann der EKB-Anforderer 4520 den EKB an einen Mediumhersteller 4540 und/oder einen Vorrichtungshersteller 4550 bereitstellen und kann ein Medium oder eine Vorrichtung, in dem der EKB gespeichert ist, einem Benutzer zur Verfügung stellen. Jeder EKB wird so erzeugt, dass er von einem oder mehreren Kategorienbäumen verarbeitet werden kann.
  • Bei dem vorliegenden System können die EKBs auf verschiedene Arten erzeugt werden und auf verschiedene Weisen verwendet werden. Zum Beispiel kann ein EKB so erzeugt werden, dass er gemeinsam von mehreren Kategorienbäumen (zwei oder drei Kategorienbäumen oder eine größere Anzahl von Kategorienbäumen) verarbeitet werden kann, oder kann so erzeugt werden, dass er nur von einem Kategorienbaum verarbeitet werden kann. Eine EKB-Typ-Definitionsliste wird verwendet, um solche verschiedenen Typen von EKBs in Form einer Liste zu beschreiben. Die EKB-Typ-Definitionsliste wird von der Schlüsselverteilungsstelle (KDC) gemanagt. Die EKB-Typ-Definitionsliste wird nachfolgend ausführlicher beschrieben. Der EKB-Anforderer 4520 kann die EKB-Typ-Definitionsliste erhalten, indem eine Anfrage nach der EKB-Typ-Definitionsliste an die Schlüsselverteilungsstelle (KDC) 4511 ausgegeben wird. Wenn Daten in der Liste erneuert werden, werden aktualisierte Daten an die EKB-Anforderer 4520 von der Schlüsselverteilungsstelle (KDC) 4511 übertragen.
  • Wie oben beschrieben, entsprechen die Kategorieneinheiten der obersten Ebene (TLCEs) 4530 Managementeinheiten der Kategorienbäume, die direkt mit dem Wurzelbaum verbunden sind. Jede Kategorieneinheit (TLCE) 4530 der obersten Ebene managt Schlüssel eines Unterbaumes und eine Zuordnungsliste, die die Zuordnung zwischen der Vorrichtungs-ID und der Vorrichtungsknotenschlüssel-(DNK-)Gruppe darstellt, die einer Gruppe von Knotenschlüsseln entspricht, die in jeder Vorrichtung zur Verwendung bei der Verarbeitung der EKB gespeichert ist. Die Kategorieneinheit (TLCE) 4530 der obersten Ebene erzeugt auch eine in einer Vorrichtung zu speichernde Vorrichtungsknotenschlüssel-(DNK-)Gruppe eines Typs, der von der Kategorieneinheit (TLCE) 4530 der obersten Ebene gemanagt wird, und stellt diese einem Hersteller 4550 zur Verfügung, der die Vorrichtung herstellt.
  • Wenn die Schlüsselverteilungsstelle (KDC) 4511 eine EKB-Anfrage von dem EKB-Anforderer 4520 empfängt, erzeugt die Schlüsselverteilungsstelle (KDC) 4511 einen EKB gemäß der EKB-Anfrage. Wenn z. B. in einem Fall, bei dem die EKB-Anfrage angibt, dass der EKB durch zwei bestimmte Kategorienbäume der obersten Ebene verarbeitet werden kann, fragt die Schlüsselverteilungsstelle (KDC) 4511 diejenigen zwei Kategorieneinheiten (TLCEs) 4530 der obersten Ebene an, ihre Unter-EKBs auszugeben. Nach dem Empfangen der Unter-EKB-Anfrage erzeugt jede Kategorieneinheit (TLCE) 4530 der obersten Ebene einen Unter-EKB, der von einer autorisierten Vorrichtung in dem Kategorienbaum verwendet werden kann, um den Wurzelschlüssel zu erhalten, und überträgt die resultierenden Unter-EKB an die Schlüsselverteilungsstelle (KDC) 4511. Auf Basis der einen oder mehreren Unter-EKBs, die von den TLCEs empfangen werden, erzeugt die Schlüsselverteilungsstelle (KDC) 4511 einen EKB. Der Verfahrensablauf zum Erzeugen des EKB auf der Basis der Unter-EKBs wird nachfolgend ausführlich beschrieben.
  • Die Kategorieneinheiten (TLCEs) 4530 der obersten Ebene mit den EKB-Anforderern 4520 können die EKB-Typ-Definitionsliste durch Senden einer Anfrage nach dieser an die Schlüsselverteilungsstelle (KDC) 4511 erhalten.
  • Jede Kategorieneinheit (TLCE) 4530 der obersten Ebene kann ebenfalls bei der Schlüsselverteilungsstelle (KDC) 4511 anfragen, die EKB-Typ-Definitionsdaten, die der Kategorieneinheit (TLCE) 4530 der obersten Ebene zugeordnet sind, von der EKB-Typ-Definitionsliste zu löschen. Zum Beispiel kann die Löschungsanfrage angeben, dass ein EKB-Typ, der definiert ist, dass er durch einen anderen Kategorienbaum gemeinsam verwendet werden kann, aus der Liste gelöscht werden soll. In einem Fall, bei dem ein Baum, der durch die Kategorieneinheit (TLCE) 4530 der obersten Ebene gemanagt wird, erneuert wird, sendet die Kategorieneineheit TLCE 4530 eine Erneuerungsmitteilung an die Schlüsselverteilungsstelle (KDC) 4511. Der ausführliche Verfahrensablauf diesbezüglich wird nachfolgend mit Bezug zu einem Flussdiagramm beschrieben.
  • Die Vorrichtungshersteller 4550 können in zwei Typen klassifiziert werden. Vorrichtungshersteller eines Typs entsprechen DNK-Vorrichtungsherstellern 4551, die Vorrichtungen herstellen, in denen sowohl eine Vorrichtungsknotenschlüssel-(DNK-)Gruppe und ein EKB gespeichert sind. Vorrichtungshersteller des andern Typs entsprechen DNK-Vorrichtungsherstellern 4552, die Vorrichtungen herstellen, in denen nur eine Vorrichtungsknotenschlüssel-(DNK-)Gruppe gespeichert ist.
  • 48 zeigt in Form eines Blockdiagramms Beispiele von Konfigurationen der Schlüsselverteilungsstelle (KDC), der EKB-Anfrage und der in 47 gezeigten Kategorieneinheit (TLCE) der obersten Ebene. Die Schlüsselverteilungsstelle (KDC), der EKB-Anforderer und die Kategorieneinheit (TLCE) der obersten Ebene entsprechen Informationsverarbeitungsgeräten mit einer Fähigkeit zur Kommunikation von verschlüsselten Daten, die so aufgebaut sind, um als ein EKB-Verteilungsgerät, ein EKB-Anfragegerät und ein Kategorienbaum-Managementgerät zu arbeiten. Das Informationsverarbeitungsgerät jeder Einheit umfasst eine kryptografische Einheit, die für den allgemeinen Kryptografieprozess bei der gegenseitigen Authentifizierung mit einer weiteren Einheit und bei der Datenkommunikation verantwortlich ist. Die Kryptografieeinheit umfasst eine Steuereinheit zum allgemeinen Steuern des Kryptografieprozesses, der der Authentifizierung, Verschlüsselung und Entschlüsselung zugeordnet ist. Ein interner Speicher der Kryptografieeinheit dient dazu, Daten, wie z. B. Schlüsseldaten und Identifikationsdaten zu speichern, die bei verschiedenen Prozessen, wie z. B. bei der gegenseitigen Authentifizierung, Verschlüsselung und Entschlüsselung benötigt werden. Die Identifikationsdaten werden z. B. bei der gegenseitigen Authentifizierung mit einer weiteren Einheit verwendet.
  • Eine Verschlüsselungs-/Entschlüsselungseinheit führt bei der Datenübertragung mit Hilfe von Schlüsseldaten, die in dem internen Speicher gespeichert sind, eine Authentifizierung, Verschlüsselung, Entschlüsselung, Datenüberprüfung und eine Zufallszahlerzeugung durch.
  • Wie bei dem Informationsverarbeitungsgerät, das als EKB-Anforderer dient, kann dieser auch konfiguriert sein, so dass ein Schlüssel nicht von dem EKB-Anforderer erzeugt wird. In diesem Fall werden Komponenten, die zum Erzeugen des Schlüssels verwendet werden, wie z. B. ein Zufallszahlengenerator, nicht benötigt. Insbesondere erzeugt in einem Fall, bei dem das Informationsverarbeitungsgerät als der EKB-Anforderer arbeitet, einen Wurzelschlüssel, der in einer EKB enthalten sein soll, und fragt bei der Schlüsselverteilungsstelle nach, den EKB zu erzeugen, so dass dieser den Wurzelschlüssel enthält, wobei das Informationsverarbeitungsgerät eine Einrichtung zum Erzeugen des Wurzelschlüssels umfassen muss. Wenn jedoch in einem Fall, bei dem das Informationsverarbeitungsgerät, das als der EKB-Anforderer arbeitet, nicht den Wurzelschlüssel, der in dem EKB enthalten sein soll, erzeugt, sondern bei der Schlüsselverteilungsstelle (KDC) anfragt, den Wurzelschlüssel zu erzeugen, und weiterhin den EKB mit dem Wurzelschlüssel, der von der Schlüsselverteilungsstelle (KDC) erzeugt wird, erzeugt, muss das Informationsverarbeitungsgerät nicht Komponenten wie z. B. den Zufallszahlengenerator, der zum Erzeugen des Schlüssels verwendet wird, enthalten.
  • Weil eine Information, wie z. B. ein Verschlüsselungsschlüssel in dem internen Speicher der Kryptografieeinheit gespeichert wird, sollte der interne Speicher so konstruiert sein, dass ein nicht autorisierter Zugang zu dem Speicher verhindert wird.
  • Insbesondere ist die Kryptografieeinheit mit Hilfe eines manipuliersicheren Speichers ausgebildet, der mit einem Halbleiterchip oder dgl. gebildet ist, um so vor einem externen Zugriff zu schützen.
  • Jede Einheit umfasst zusätzlich zu der Kryptografieeinheit, die oben beschrieben wurde, eine CPU (Zentralverarbeitungseinheit), einen RAM (Speicher mit wahlfreiem Zugriff), einen ROM (Nur-Lese-Speicher), eine Eingabeeinheit, eine Anzeigeeinheit, eine Datenbankschnittstelle und eine Datenbank.
  • Die CPU (Zentralverarbeitungseinheit), das RAM (Speicher mit wahlfreiem Zugriff), und das ROM (Nur-Lese-Speicher) bilden ein Steuersystem der Einheit. Das RAM wird als Hauptspeicher verwendet, der von der CPU als Arbeitsbereich für verschiedene Prozesse verwendet wird. Das ROM wird verwendet, um ein Startprogramm zu speichern, das von der CPU ausgeführt wird.
  • Die Datenbank oder Speichereinrichtung jedes Informationsverarbeitungsgeräts speichert Daten, die von der Einheit gemanagt werden. Zum Beispiel werden in der Schlüsselverteilungsstelle (KDC) Managementdaten, die mit ausgegebenen EKBs zugeordnet sind, und die EKB-Typ-Definitionsliste in der Datenbank gespeichert. In dem Fall der Kategorieneinheit (TLCE) der obersten Ebene werden Managementdaten, die Vorrichtungen, die zu dem Kategorienbaum gehören, zugeordnet sind, wie z. B. Daten, die eine Zuordnung zwischen den Vorrichtungen, die durch die TLCE gemanagt werden, und der Vorrichtungsknotenschlüssel-(DNK-)Gruppe, in der Datenbank gespeichert. In dem EKB-Anforderer speichert die Datenbank Managementdaten, die die Zuordnung zwischen Inhalten, die von dem EKB-Anforderer bereitgestellt werden, und den EKBs, die für die Inhalte und Managementdaten, die Vorrichtungen angeben, denen Inhalte bereitgestellt werden, verwendet werden, angeben. Es ist wünschenswert, dass die EKB-Typ-Definitionsliste auf zugreifbare Weise auch in dem Informationsverarbeitungsgerät gespeichert wird, das als der EKB-Anforderer und die Kategorieneinheit (TLCE) der obersten Ebene dient. Alternativ kann die EKB-Typ-Definitionsliste auf einer Website gespeichert werden, die von der Schlüsselverteilungsstelle (KDC) gemanagt wird und auf die durch den EKB-Anforderer und die Kategorieneinheit (TLCE) der obersten Ebene zugegriffen werden kann.
  • Wie zuvor beschrieben, verwenden Vorrichtungen eine Vorrichtungsknotenschlüssel-(DNK-)Gruppe, wenn diese einen EKB verarbeiten (entschlüsseln). Ein Beispiel einer Vorrichtungsknotenschlüssel-(DNK-)Gruppe, die in einer Vorrichtung gespeichert ist, wird nachfolgend mit Bezug zu 49 beschrieben. In 49 werden Baumknoten eines Kategorienbaums, in dem Blätter sich auf Vorrichtungen beziehen, auf der untersten Ebene angeordnet. Zum Beispiel kann der Baum einem Baum entsprechen, der durch eine Kategorieneinheit (TLCE) einer obersten Ebene gemanagt wird. Der Kategorienbaum ist mit einem Wurzelbaum verbunden (z. B. mit einer 8-Ebenen-Struktur), der auf einer höheren Ebene angeordnet ist. Jede Vorrichtung speichert Knotenschlüssel, die Knoten in einem Pfad von der Vorrichtung zu einer höheren Ebene, wie in 49 gezeigt ist, zugeordnet sind. Diese Schlüssel werden als eine Vorrichtungsknotenschlüssel-(DNK-)Gruppe in den Vorrichtungen so gespeichert, dass eine EKB mit Hilfe der Vorrichtungsknotenschlüssel-(DNK-)Gruppe entschlüsselt werden kann.
  • Grundsätzlich wird jede Vorrichtung einem Blatt so zugeordnet, dass keine Überlappung auftritt. Jedoch kann in einem Ausnahmefall, bei dem sich Softwareprogramme, wie z. B. PC-Programme, auf Blätter beziehen, eine Version eines Softwarepakets allen Blättern zugeordnet sein. Die Zuordnung von Vorrichtungen wird durch den TLCE bestimmt. Das heißt, der TLCE bestimmt, welche Vorrichtung welchem Blatt zugeordnet ist, und welcher Knotenschlüssel welcher Vorrichtung zugeordnet ist.
  • Die Kategorieneinheit (TLCE) der obersten Ebene kann einem Vorrichtungszulieferer (Hersteller) entsprechen. In diesem Fall kann die Kategorieneinheit (TLCE) der obersten Ebene eine Vorrichtung liefern (verkaufen), nachdem eine Vorrichtungsknotenschlüssel-(DNK-)Gruppe darin gespeichert ist. Das heißt, es ist möglich, eine Vorrichtung, wie z. B. ein Aufzeichnungs-/Wiedergabegerät mit einem Speicher, in dem Knotenschlüssel eines bestimmten Kategorienbaums als eine Vorrichtungsknotenschlüssel-(DNK-)Gruppe gespeichert worden sind, bereitzustellen (zu verkaufen).
  • (EKB-Typ-Definitionsliste)
  • Die Verteilung einer EKB auf einer Kategorienbasis wurde bereits beschrieben. Bei einem Fall, bei dem ein EKB für die gemeinsame Benutzung von mehreren Kategorien ausgegeben wird, d. h. in einem Fall, bei dem der ausgegebene EKB von Vorrichtungen verarbeitet werden kann, die zu verschiedenen Kategorienbäumen gehören, besteht eine Möglichkeit, dass einige Probleme auftreten.
  • Es wird z. B. hierin angenommen, dass zwei verschiedene Unternehmen A und B eine Lizenz eines Formats eines wiederbeschreibbaren Mediums (Speichermediums), wie z. B. einen tragbaren Flashspeicher besitzen; ein Hersteller mit einer Lizenz eines Mediums (tragbarer Flashspeicher) entspricht einer Einheit einer Kategorie der obersten Ebene, und Kategorienbäume, die von den Unternehmen A bzw. B gemanagt werden, existieren auf einer Ebene unter der Kategorie der obersten Ebene. Man nimmt weiterhin an, dass, damit Vorrichtungen der Unternehmen A und B zueinander kompatibel sind und verschiedene Inhalte gemeinsam benutzen können, ein EKB, der von Vorrichtungen, die zu einem der Kategorienbäume der Unternehmen A und B gehören, verarbeitet (entschlüsselt) werden können, erzeugt wird und von der Schlüsselverteilungsstelle (KDC) verteilt wird.
  • Wenn in einem solchen Fall die Vertraulichkeit einer Vorrichtungsknotenschlüssel-(DNK-)Gruppe einer Vorrichtung, die zu dem Kategorienbaum, der durch das Unternehmen A gemanagt wird, gehört, verletzt wird, besteht die Möglichkeit, dass alle bereits verteilten Inhalte, die von Vorrichtungen beider Unternehmen A und B durch Verwenden dieser Vorrichtungsknotenschlüssel-(DNK-)Gruppe verwendet werden können, in nicht autorisierter Weise verwendet werden können. Um eine solche nicht autorisierte Benutzung zu verhindern, muss man den EKB für ein Ungültigerklären erneuen. Weil jedoch in diesem Fall der EKB so erzeugt worden ist, dass er gemeinsam von zwei Kategorienbäumen, die den Unternehmen A und B zugeordnet sind, verwendet werden kann, sollte das Ungültigerklären nicht nur für den Kategorienbaum, der dem Unternehmen A zugeordnet ist, sondern für beide Kategorien, die den Unternehmen A und B zugeordnet sind, durchgeführt werden.
  • Wie oben beschrieben, sollte in dem Fall, bei dem eine EKB so verteilt wird, dass sie gemeinsam von mehreren Kategorienbäumen verwendet werden kann, eine Erneuerung der EKB und ein Ungültigerklären nicht nur für einen Kategorienbaum, sondern für alle Kategorienbäume, die die EKB gemeinsam nutzen, durchgeführt werden. Infolge wird das Unternehmen B von einem anderen Kategorienbaum beeinflusst als von dem Kategorienbaum, der von dem Unternehmen B gemanagt wird. Dies führt zu einem Anwachsen der Komplexität des Managementprozesses.
  • Hierin wird eine Technik zum Lösen des obigen Problems nachfolgend offenbart. Das heißt, das Recht zum Erteilen einer Erlaubnis zum Ausgeben eines EKBs, der gemeinsam von mehreren Kategorien verwendbar ist, wird den entsprechenden Kategorieneinheiten gewährt, die die Kategorien managen. Das Ausgeben eines EKBs für die gemeinsame Benutzung wird nur von einer Einheit erlaubt, wenn die Einheit ein Risiko eines Problems, das in Vorrichtungen einer Kategorie einer Einheit als Ergebnis des Auftretens eines Problems in einer Vorrichtung, die zu einer weiteren Kategorie gehört, auftreten kann, akzeptieren kann. Jedoch in einem Fall, bei dem die Einheit das Risiko nicht akzeptieren kann, erlaubt die Einheit die Ausgabe über die Verwendung eines gemeinsamen EKB nicht.
  • Bei diesem Verfahren werden verschiedene Arten von EKBs erzeugt und verwendet. Zum Beispiel kann ein EKB einem solchen EKB entsprechen, der durch zwei oder drei oder einer größeren Anzahl von Kategorienbäumen verarbeitet werden kann, aber ein weiterer EKB kann ein EKB sein, der nur von einem einzelnen Kategorienbaum verarbeitet werden kann. Eine EKB-Typ-Definitionsliste wird verwendet, um solche verschiedenen Typen von EKBs in Form einer Liste zu beschreiben. 50 zeigt ein Beispiel einer EKB-Typ-Definitionsliste. Die EKB-Typ-Definitionsliste wird von der Schlüsselverteilungsstelle (KDC) gespeichert und gemanagt. Die EKB-Typ-Definitionsliste wird EKB-Anforderern oder TLCEs, wenn erforderlich, bereitgestellt, oder es kann darauf durch diese zugegriffen werden.
  • Wie in 50 gezeigt ist, umfasst die EKB-Typ-Definitionsliste Felder der „EKB-Typ-Identifikationsnummer", „Knoten" und „Beschreibung". Die „EKB-Typ-Identifikationsnummer" entspricht einer Nummer, die ein bestimmtes der verschiedenen in der EKB-Typ-Definitionsliste gelisteten EKBs identifiziert. Wenn die Identifikationsnummer verschieden ist, werden der Kategorienbaum oder die Kombination der Kategorienbäume, die die EKB verarbeiten dürfen, verschieden.
  • Das „Knoten-Feld" wird verwendet, um die ID des obersten Knotens der Kategorienbäume zu beschreiben, auf die ein bestimmter EKB angewendet werden kann. Zum Beispiel wird für eine EKB eine EKB-Typ-Identifikationsnummer von 1, die die des obersten Knotens eines Kategorienbaums, der einem MS (Memorystick) zugeordnet ist, zugeordnet. Andererseits wird für ein EKB einer Reihe einer EKB-Typ-Identifikationsnummer von 3 die ID des Knotens der obersten Ebene des Kategorienbaums, der dem MS (Memorystick) und die ID des obersten Knotens einer Kategorie, die einem PHS zugeordnet ist, zugewiesen.
  • Das Feld „Beschreibung" wird verwendet, um Beschreibungen von verschiedenen Typen von EKBs zu speichern, die in der EKB-Typ-Definitionsliste gelistet sind. Zum Beispiel geben die Daten in dem „Beschreibung" Feld für die EKB der EKB-Typ-Identifikationsnummer von 1 an, dass dieser EKB für den MS (Memorystick) ist, und die Daten in dem „Beschreibung" Feld für den EKB der EKB-Typ-Identifikationsnummer von 3 geben an, dass dieser EKB gemeinsam von den Kategorienbäumen des MS (Memorystick) und dem PHS verwendet werden kann.
  • Die EKB-Typ-Definitionsliste, die in 50 gezeigt ist, wird durch die Schlüsselverteilungsstelle (KDC) gemanagt. Eine Einheit, wie z. B. ein Inhalte-Anbieter, der verschlüsselte Daten vertreibt, wie z. B. einen verschlüsselten Schlüssel oder einen verschlüsselten Inhalt, der mit Hilfe eines Schlüssels, der durch Verarbeiten des EKBs extrahiert werden kann, verschlüsselt ist, wählt aus der EKB-Typ-Definitionsliste, die in 50 gezeigt ist, einen EKB-Typ aus, der durch eine Kategorie verarbeitet werden kann, die die Vorrichtungen enthält, denen der Inhalt bereitgestellt werden soll. Der Inhalte-Anbieter fragt dann bei der Schlüsselverteilungsstelle (KDC) nach, einen EKB, der durch die entsprechende EKB-Typ-Identifikationsnummer bestimmt ist, zu erzeugen.
  • Wenn verschiedene Typen von EKBs in der EKB-Typ-Definitionsliste registriert sind, sollte die Registrierung mit dem Einverständnis der Kategorieneinheiten (TLCEs) der obersten Ebene der Kategorienbäume, die registriert werden sollen, durchgeführt werden. Wenn z. B. TLCE-A des Kategorienbaums die Ausgabe eines EKBs verweigert, der von einer weiteren Kategorie gemeinsam genutzt wird, wird ein EKB-Typ, der von dem Kategorienbaum A und den weiteren Kategorien gemeinsam genutzt wird, nicht in der EKB-Typ-Definitionsliste registriert.
  • In einem Fall, bei dem alle TLCE-A des Kategorienbaums A, TLCE-B des Kategorienbaums B und TLCE-C des Kategorienbaums C sich mit der Ausgabe eines EKB für die gemeinsame Benutzung einverstanden erklärt haben, wird ein EKB-Typ, der gemeinsam durch diese drei Kategorienbäume verarbeitet werden kann, in der EKB-Typ-Definitionsliste registriert. Danach kann ein Inhalte-Anbieter die EKB-Typ-Identifikationsnummer, die diesem EKB-Typ zugeordnet ist, bestimmen und kann bei der Schlüsselverteilungsstelle (KDC) die Ausgabe eines entsprechenden EKBs anfordern.
  • Das heißt, um einen neuen EKB-Typ zu registrieren und eine entsprechende EKB-Typ-Identifikationsnummer in der EKB-Typ-Definitionsliste zu registrieren, ist der nachfolgende Prozess erforderlich.
    • (1) Alle TLCEs, die Kategorien managen, die sich auf einen EKB-Typ mit einer EKB-Typ-Identifikationsnummer, die registriert werden soll, beziehen, senden eine EKB-Typ-Registrierungsanfrage an die Schlüsselverteilungsstelle (KDC).
    • (2) Die Schlüsselverteilungsstelle (KDC) bestätigt, dass die EKB-Typ-Registrierungsanfragen, die von allen Kategorieneinheiten (TLCEs) der obersten Ebene der Kategorienbäume, die in der Lage sind, einen EKB des EKB-Typs, dessen Registrierung angefragt ist, zu verarbeiten. Nach der Bestätigung definiert die Schlüsselverteilungsstelle (KDC) eine neue EKB-Typ-Identifikationsnummer für den EKB-Typ und fügt diese der EKB-Typ-Definitionsliste hinzu.
    • (3) Die Schlüsselverteilungsstelle (KDC) sendet eine EKB-Typ-Definitionslisten-Erneuerungsmitteilung an alle TLCEs und EKB-Anforderer, um mitzuteilen, dass die EKB-Typ-Definitionsliste erneuert worden ist.
  • Die EKB-Typ-Definitionsliste wird für die Verwendung durch alle TLCEs und EKB-Anforderer geöffnet, indem diese an alle TLCEs und EKB-Anforderer gesendet wird, oder indem diese auf eine Website gestellt wird. Somit können TLCEs und EKB-Anforderer EKB-Typ-Informationen, die in der neuesten EKB-Typ-Definitionsliste beschrieben werden, erhalten.
  • (EKB-Typ-Registrierung)
  • Ein Prozess, der durch die Schlüsselverteilungsstelle (KDC) vor der Registrierung eines neuen EKB-Typs in der EKB-Typ-Definitionsliste durchgeführt wird, wird nachfolgend mit Bezug auf 51 beschrieben. Zunächst empfängt die Schlüsselverteilungsstelle (KDC) eine EKB-Typ-Registrierungsanfrage von einem TLCE, der einen neuen EKB-Typ (S101) registrieren möchte. Die EKB-Typ-Registrierungsanfrage von dem TLCE umfasst eine Beschreibung der Anzahl von Kategorien, die gemeinsam den EKB, der registriert werden soll, benutzen können sollten. Die Schlüsselverteilungsstelle (KDC) bestimmt, ob so viele ähnliche EKB-Typ-Registrierungsanfragen vorliegen, wie der Anzahl von Kategorien, die in der Anfrage beschrieben werden, von den TLCEs (S102) empfangen worden sind. Wenn und nur wenn so viele EKB-Typ-Registrierungsanfragen von den TLCEs empfangen worden sind, wie der Anzahl der Kategorien entspricht, die in der Anfrage beschrieben werden, registriert die Schlüsselverteilungsstelle (KDC) den neuen EKB-Typ in der EKB-Typ-Definitionsliste gemäß der Anfrage. Die Schlüsselverteilungsstelle (KDC) führt einen Listenerneuerungsprozess durch und gibt eine Listenerneuerungsmitteilung (S103) aus. Die Erneuerungsmitteilung wird an alle TLCEs und EKB-Anforderer gesendet.
  • Wie oben beschrieben, führt die Schlüsselverteilungsstelle (KDC) eine Registrierung eines neuen EKB-Typ-Identifizierers in die EKB-Typ-Definitionsliste nur dann durch, wenn ein Einverständnis der Registrierung von allen Kategorieneinheiten erhalten worden ist, die die Kategorienbäume managen, die als Kategorienbäume bestimmt sind, die den EKB-Typ, der registriert werden soll, verarbeiten können sollen.
  • In dem obigen Prozess werden eine gegenseitige Authentifizierung und eine Verschlüsselung der Übertragungsdaten, soweit erforderlich, bei der Kommunikation zwischen der Schlüsselverteilungsstelle (KDC) und den TLCEs oder EKB-Anforderern durchgeführt. Weiterhin werden auch eine Verschlüsselung anderer Nachrichten, ein Schreiben einer Signatur und eine Datenüberprüfung ebenfalls durchgeführt. Bei einem Fall, bei dem eine Authentifizierung und eine kryptografische Kommunikation mit Hilfe der Kryptografietechnologie mit einem öffentlichen Schlüssel durchgeführt werden, ist es erforderlich, dass Einheiten bereits ihre öffentlichen Schlüssel besitzen.
  • (Ungültigerklären eines EKB-Typs)
  • Wenn alle Vorrichtungen, die zu einer bestimmten Kategorie gehören, für ungültig erklärt werden müssen, gibt die Kategorieneinheit (TLCE) der obersten Ebene an die Schlüsselverteilungsstelle (KDC) eine Anfrage nach dem Ungültigerklären der EKB-Typen aus, die der Kategorie zugeordnet sind. Wenn weiterhin ein bestimmter Dienst beendet werden soll, oder wenn ein sonstiger Grund vorliegt, kann die Kategorieneinheit (TLCE) der obersten Ebene eine Anfrage zum Ungültigerklären eines EKB-Typs von der momentanen Registrierung an die KDC ausgeben.
  • Das Verfahren des Ungültigerklärens eines EKB-Typs wird nachfolgend mit Bezug auf ein Flussdiagramm, das in 52 gezeigt ist, beschrieben. Zunächst empfängt die Schlüsselverteilungsstelle (KDC) eine EKB-Typ-Ungültigerklärungsanfrage von einem TLCE, die einen EKB-Typ (S201) für ungültig erklären möchte. Wenn die Schlüsselverteilungsstelle (KDC) die EKB-Typ-Ungültigerklärungsanfrage von der TLCE empfängt, bestätigt die Schlüsselverteilungsstelle (KDC), dass der Herausgeber der Anfrage der TLCE entspricht, die die Kategorie managt, die dem EKB-Typ zugeordnet ist, dessen Ungültigerklärung angefragt ist. Nach der Bestätigung erklärt die Schlüsselverteilungsstelle (KDC) aus der EKB-Typ-Definitionsliste die EKB-Typ-Identifikationsnummer, die dem EKB-Typ entspricht, die durch die EKB-Typ-Ungültigerklärungsanfrage bestimmt ist, für ungültig und führt eine Erneuerung der EKB-Typ-Definitionsliste aus. Danach gibt die Schlüsselverteilungsstelle (KDC) eine Listenerneuerungsmitteilung (S202) aus. Die Erneuerungsmitteilung wird an alle TLCEs und EKB-Anforderer gesendet.
  • Wie zuvor beschrieben, führt die Schlüsselverteilungsstelle (KDC) eine Ungültigerklärung eines EKB-Typ-Identifzierers aus, der in der EKB-Typ-Definitionsliste registriert ist, wenn und nur wenn eine Ungültigerklärungsanfrage von mindestens einer der Kategorieneinheiten empfangen wird, die eine oder mehrere Kategorienbäume managt, die als Kategorienbäume ausgewählt sind, die auf der Basis eines EKB-Typs, dessen Ungültigerklärung angefragt ist, verarbeitet werden können. In diesem Fall ist das Einverständnis der anderen Kategorieneinheiten nicht notwendig.
  • In dem obigen Verfahrensablauf werden die gegenseitige Authentifizierung und eine Verschlüsselung der Übertragungsdaten, wenn erforderlich, bei der Kommunikation zwischen der Schlüsselverteilungsstelle (KDC) und TLCEs oder EKB-Anforderer durchgeführt. Weiterhin werden die Verschlüsselung von anderen Nachrichten, ein Schreiben einer Signatur und eine Datenüberprüfung ebenfalls durchgeführt. In einem Fall, bei dem Authentifizierung oder kryptografische Kommunikation mit Hilfe der Kryptografietechnologie mit einem öÖffentlichen Schlüssel durchgeführt wird, ist es erforderlich, dass die Einheiten bereits ihre öffentlichen Schlüssel besitzen.
  • (EKB-Typ-Definitionslisten-Erneuerungsmitteilung)
  • Zum Beispiel in einem Fall, bei dem in einem bestimmten Kategorienbaum die TLCE, die diesen Kategorienbaum managt, einen Prozess durchgeführt hat, der zu einer Änderung des Zustands des Baumes führt, wie z. B. ein Ungültigerklären einer Vorrichtung oder einer Änderung bei einer Vorrichtungsknotenschlüssel-(DNK-)Gruppe, die in einer bestimmten Vorrichtung gespeichert ist, in einer weiteren Vorrichtungsknotenschlüssel-(DNK-)Gruppe, muss die TLCE den EKB-Anforderern oder TLCEs mit Hilfe der EKBs, die dieser Vorrichtung zugeordnet sind, die Tatsache mitteilen, dass der Prozess durchgeführt worden ist.
  • Wenn ein Ungültigerklären einer Vorrichtung durchgeführt worden ist, falls eine Mitteilung des Ungültigerklärens nicht gesendet worden ist, kann ein Inhalte-Anbieter (CP) einen alten EKB zur Übertragung eines verschlüsselten Inhalts verwenden. Der alte EKB kann sogar durch die für ungültig erklärte Vorrichtung verarbeitet (entschlüsselt) werden, und somit besteht eine Möglichkeit, dass die nicht autorisierte Verwendung des Inhalts fortgesetzt wird. Bei einem Fall, bei dem eine Vorrichtungsknotenschlüssel-(DNK-)Gruppe erneuert worden ist, wird die alte DNK, die durch eine neue ersetzt wird, üblicherweise verworfen, und eine Vorrichtung besitzt den neuen DNK. Wenn jedoch ein Inhalte-Anbieter keinen EKB verwendet, in dem die neue DNK berücksichtigt wird, kann eine Vorrichtung mit der neuen DNK nicht die EKB verarbeiten (entschlüsseln) und somit nicht auf den Inhalt zugreifen.
  • Um ein solches Problem zu vermeiden, muss eine TLCE eine Baumänderungsmitteilung an die Schlüsselverteilungsstelle (KDC) senden, wenn eine der nachfolgend beschriebenen Änderungen auftritt.
    • *Eine Änderung in einem Tag-Teil eines EKB, der infolge eines Ungültigerklären einer Vorrichtung durchgeführt wird.
    • *Eine Änderung bei einem Wert einer DNK Gruppe, die in mindestens einer Vorrichtung gespeichert ist, die infolge einer Erneuerung einer Vorrichtungsknotenschlüssel-(DNK-)Gruppe durchgeführt wird.
  • Die Baumänderungsmitteilung umfasst eine Information, die eine in der EKB-Typ-Definitionsliste zu ändernde EKB-Typ-Identifikationsnummer angibt, eine Information, die eine Kategorie angibt, die der EKB-Typ-Identifikationsnummer zugeordnet ist, und eine Information, die angibt, was passiert ist, z. B. angibt, dass ein Ungültigerklären oder eine DNK-Erneuerung durchgeführt worden ist.
  • Der Prozess der EKB-Typ-Definitionslisten-Erneuerungsmitteilung wird nachfolgend mit Bezug auf ein Flussdiagramm, das in 53 gezeigt ist, beschrieben. Zunächst empfängt die Schlüsselverteilungsstelle (KDC) eine Baumänderungsmitteilung von einer TLCE (S5201). Nach dem Empfangen der Baumänderungsmitteilung von der TLCE extrahiert die Schlüsselverteilungsstelle (KDC) eine EKB-Typ-Identifikationsnummer, die der Kategorie zugeordnet ist, von der EKB-Typ-Definitionsliste und sendet eine EKB-Typ-Definitionslisten-Erneuerungsmitteilung an alle TLCEs und EKB-Anforderer, um mitzuteilen, welche Art von Änderung (Ungültigerklären oder DNK-Ersetzung) aufgetreten ist und welche EKB-Identifikationsnummer durch die Änderung beeinflusst ist. In dem obigen Verfahrensablauf werden eine gegenseitige Authentifizierung und eine Verschlüsselung der Übertragungsdaten, wenn erforderlich, bei der Kommunikation zwischen der Schlüsselverteilungsstelle (KDC) und den TLCEs oder EKB-Anforderern durchgeführt. Weiterhin werden auch eine Verschlüsselung der anderen Nachrichten, ein Schreiben einer Signatur und eine Datenüberprüfung durchgeführt. In einem Fall, bei dem eine Authentifizierung oder eine kryptografische Kommunikation mit Hilfe der Kryptografietechnologie mit einem öffentlichen Schlüssel durchgeführt wird, ist es erforderlich, dass Einheiten bereits ihre öffentlichen Schlüssel besitzen.
  • EKB-Typ-Definitionslistenanfrage
  • Um eine neuste Version einer EKB-Typ-Definitionsliste zu erhalten, kann eine Kategorieneinheit (TLCE) einer obersten Ebene, eine Unterkategorieneinheit (SCE), die von der TLCE verschieden ist, oder ein EKB-Anforderer, wie z. B. ein Inhalte-Anbieter eine Anfrage nach der EKB-Typ-Definitionsliste an die Schlüsselverteilungsstelle (KDC) senden. Infolge der Anfrage gibt die Schlüsselverteilungsstelle (KDC) die neuste Version der EKB-Typ-Definitionsliste an den Anforderer zurück.
  • Die EKB-Typ-Definitionslisten-Anfrageverarbeitung wird nachfolgend mit Bezug auf ein Flussdiagramm, das in 54 gezeigt ist, beschrieben. Zunächst empfängt die Schlüsselverteilungsstelle (KDC) eine EKB-Typ-Definitionsliste von einer TLCE, einer Unterkategorieneinheit oder einem EKB-Anforderer (S401). Nach dem Empfangen der EKB-Typ-Definitionsliste extrahiert die Schlüsselverteilungsstelle (KDC) die neuste Version einer EKB-Typ-Definitionsliste und überträgt diese an die Einheit, die die Anfrage ausgegeben hat. In dem obigen Prozess werden eine gegenseitige Authentifizierung und Verschlüsselung von Übertragungsdaten, wenn erforderlich, durchgeführt bei der Kommunikation zwischen der Schlüsselverteilungsstelle (KDC) und TLCEs, Unterkategorieneinheiten oder EKB-Anforderern. Weiterhin werden eine Verschlüsselung von weiteren Mitteilungen, ein Schreiben einer Signatur und eine Datenüberprüfung ebenfalls durchgeführt. In einem Fall, bei dem eine Authentifizierung und eine kryptografische Kommunikation mit Hilfe der Kryptografietechnologie mit dem öffentlichen Schlüssel durchgeführt, ist erforderlich, dass Einheiten bereits ihre öffentlichen Schlüssel besitzen.
  • (Ausgabe einer EKB)
  • Ein EKB wird infolge einer EKB-Anfrage ausgegeben, die von einem EKB-Anforderer empfangen wurde. Bestimmte Beispiele von EKB-Anforderern sind nachfolgend aufgeführt.
    • [a] Inhalte-Anbieter (CP), die ein Inhalte speicherndes Medium, wie z. B. eine CD oder DVD bereitstellen
    • [b] Inhalte-Anbieter, die einen Verteilungsdienst (ECD) für elektronische Inhalte bereitstellen
    • [c] Halter eines Speichersystemformats der EKB-Anforderer entspricht einer Einheit, die einen Dienst, ein Medium oder eine Vorrichtung, in denen ein Inhalt oder ein Format durch Erhalten eines Schlüssels durch Entschlüsseln einer EKB verwendet werden kann, bereitstellt.
  • Die Speichersystemformathalter, die in [c] beschrieben sind, können in zwei Typen wie nachfolgend aufgeführt klassifiziert werden.
    • [c1] Formathalter, der einen erhaltenen EKB einem Hersteller eines Speichermediums gemäß einem Format, in dem der EKB in dem Speichermedium gespeichert ist, wenn dieser hergestellt wird, bereitstellt.
    • [c2] Formathalter, der einen erhaltenen EKB einem Hersteller einer Aufzeichnungsvorrichtung gemäß einem Format, in dem der EKB in der Aufzeichnungsvorrichtung gespeichert wird, wenn dieser erzeugt wird, bereitstellt.
  • Der EKB-Ausgabeprozess wird nachfolgend beschrieben.
  • (1) Erzeugung eines Inhaltsschlüssels
  • Zunächst erzeugt ein EKB-Anforderer, wie z. B. ein Inhalte-Anbieter, einen Inhaltsschlüssel, der in Verbindung mit einem Inhalt, einer Vorrichtung oder einem Medium, die der EKB-Anforderer bereitstellt, erzeugt.
  • Zum Beispiel wird in dem Fall, bei dem der EKB-Anforderer
    • [a] einem Inhalte-Anbieter (CP) entspricht, der ein Inhalt speicherndes Medium, wie z. B. eine CD oder eine DVD bereitstellt, oder
    • [b] einem Inhalte-Anbieter entspricht, der einen Verteilungsdienst (ECD) für elektronische Inhalte bereitstellt, der erzeugte Inhaltsschlüssel verwendet, um den auf dem Medium gespeicherten Inhalt zu schützen oder den Inhalt während des Verteilungsdienstes (ECD) für elektronische Inhalte zu schützen.
  • Wenn andererseits der EKB-Anforderer
    • [c1] einem Formathalter entspricht, der einen erhaltenen EKB einem Hersteller eines Speichermediums gemäß einem Format, bei dem der EKB auf dem Speichermedium, wenn dieser erzeugt wird, gespeichert wird, bereitstellt, wird der Inhaltsschlüssel verwendet, um den auf dem Medium gespeicherten Inhalt zu schützen.
  • In dem Fall, bei dem der EKB-Anforderer
    • [c2] einem Formathalter entspricht, der einen erhaltenen EKB einem Hersteller einer Aufzeichnungsvorrichtung gemäß einem Format bereitstellt, in dem der EKB auf der Aufzeichnungsvorrichtung, wenn diese erzeugt wird, gespeichert wird, wird der Inhaltsschlüssel verwendet, um den gespeicherten Inhalt mit Hilfe der Aufzeichnungsvorrichtung zu schützen.
  • Der Mechanismus, wie z. B. ein Kryptografiealgorithmus zum Schützen des Inhalts mit Hilfe des Inhaltsschlüssels kann willkürlich für jedes Format bestimmt werden.
  • (2) Erzeugung eines Wurzelschlüssels
  • Der EKB-Anforderer erzeugt einen Wurzelschlüssel, der durch Entschlüsseln des EKB extrahiert werden kann. Alternativ kann der Wurzelschlüssel anstelle seiner Erzeugung von der Schlüsselverteilungsstelle (KDC) erhalten werden. Der Wurzelschlüssel wird verwendet, um den Inhaltsschlüssel zu schützen (zu verschlüsseln). Der Mechanismus, wie z. B. ein Kryptografiealgorithmus zum Schützen des Inhaltsschlüssels mit Hilfe des Wurzelschlüssels kann willkürlich für jedes Format bestimmt werden.
  • (3) Anfrage nach der Ausgabe eines EKB
  • Der EKB-Anforderer sendet eine EKB-Ausgabeanfrage an die Schlüsselverteilungsstelle (KDC).
  • Die EKB-Ausgabeanfrage umfasst Informationen, die den Wurzelschlüssel angeben und eine Information, die einen der EKB-Typ-Identifikationsnummern angeben, die in der EKB-Typ-Definitionsliste registriert ist, um eine Kategorie mit der Vorrichtung anzugeben, an die der Wurzelschlüssel mit Hilfe des EKB übertragen werden soll. Auf Basis der EKB-Typ-Definitionsliste, die auf dem Speichermedium des EKB-Anforderers gespeichert ist, oder auf der Basis der EKB-Typ-Definitionsliste, die man von einer Seite in einem Netzwerk erhält, wählt der EKB-Anforderer einen Typ aus, der einer Kategorie zugeordnet ist, die die Vorrichtung umfasst, an die der Dienst, wie z. B. das Bereitstellen eines Inhalts, bereitgestellt werden soll. Der EKB-Anforderder sendet dann an die Schlüsselverteilungsstelle (KDC) eine EKB-Ausgabeanfrage, die eine Information umfasst, die die EKB-Typ-Identifikationsnummer bestimmt, die den ausgewählten EKB-Typ angibt.
  • (4) Ausgabe des EKB
  • Gemäß der EKB-Ausgabeanfrage, die man von dem EKB-Anforderer erhält, erzeugt die Schlüsselverteilungsstelle (KDC) einen EKB, so dass der EKB den Wurzelschlüssel enthält, wenn der Wurzelschlüssel nicht in der EKB-Ausgabeanfrage enthalten ist. Wenn jedoch die EKB-Ausgabeanfrage den Wurzelschlüssel nicht enthält, und wenn die EKB-Ausgabeanfrage eine Anfrage nach der Erzeugung des Wurzelschlüssels enthält, erzeugt die Schlüsselverteilungsstelle (KDC) den Wurzelschlüssel und erzeugt weiterhin einen EKB, der den erzeugten Wurzelschlüssel enthält. Der resultierende EKB wird an den EKB-Anforderer übertragen. Der EKB, der durch die Schlüsselverteilungsstelle (KDC) erzeugt wird, kann von einem Typ sein, der nur durch einen einzelnen Kategorienbaum verarbeitet werden kann, oder von einem Typ, der von mehreren Kategorienbäumen verarbeitet werden kann. Auf der Basis der EKB-Typ-Identifikationsnummer, die in der EKB-Ausgabeanfrage bestimmt ist, extrahiert die Schlüsselverteilungsstelle (KDC) eine Kategorie, die der EKB-Typ-Identifikationsnummer zugeordnet ist, d. h. extrahiert den Knoten, der in dem Knotenfeld beschrieben ist, entsprechend der EKB-Typ-Identifikationsnummer aus der EKB-Typ-Definitionsliste. In dem Knotenfeld ist die ID des Knotens der obersten Ebene der Kategorie beschrieben. Die Einheit, die diese Kategorie managt, kann durch diese Knoten-ID bekannt sein. Auf Basis der Knoten-ID sendet die Schlüsselverteilungsstelle (KDC) eine Unter-EKB-Ausgabeanfrage an die Kategorieneinheit (TLCE) der obersten Ebene, die die Kategorie managt. Die Unter-EKB-Ausgabeanfrage umfasst eine Information, die den Wurzelschlüssel angibt, und eine Information, die die Kategorie angibt.
  • Wenn die TLCE die Unter-EKB-Ausgabeanfrage von der Schlüsselverteilungsstelle (KDC) empfängt, erzeugt die TLCE einen Unter-EKB, so dass Vorrichtungen (nicht für ungültig erklärte Vorrichtungen) in der bestimmten einen oder mehreren Kategorien letztendlich den Wurzelschlüssel von der Unter-EKB extrahieren können, und die TLCE überträgt den resultierenden Unter-EKB an die Schlüsselverteilungsstelle (KDC). Der Unter-EKB, der durch die Kategorieneinheit (TLCE) der obersten Ebene erzeugt wird, weist eine Datenstruktur auf, die ähnlich zu derjenigen des gewöhnlichen EKBs (6) ist, abgesehen davon, dass die Versionsnummer und weitere Informationen zur Überprüfung (Versionsprüfwert) nicht enthalten sind. Der Algorithmus des Verschlüsselns eines Knotenschlüssels einer höheren Ebene oder eines Wurzelschlüssels mit Hilfe eines Blattschlüssels oder eines Knotenschlüssels einer niedrigeren Ebene, der in dem Unter-EKB beschrieben ist, die Schlüssellänge und der Modus können willkürlich für jede TLCE (Formathalter), die den Unter-EKB erzeugt, bestimmt werden. Dies ermöglicht es, ein bestimmtes Sicherheitsschema, das sich von anderen Formaten unterscheidet, anzuwenden. Ein herkömmlicher Verschlüsselungsalgorithmus kann festgelegt werden. Zum Beispiel kann der Dreifach-DES gemäß FIPS 46-2 als herkömmlicher Verschlüsselungsalgorithmus verwendet werden, so dass der Dreifach-DES-Algorithmus verwendet wird, falls die TLCEs dies zulassen. In dem Fall, bei dem jede TLCE willkürlich den Verschlüsselungsalgorithmus und die Schlüssellänge festlegt, wenn Unter-EKBs, die von verschiedenen TLCEs erzeugt werden, zu einem einzelnen EKB miteinander kombiniert werden, wird jeder (verschlüsselte) Schlüssel erneut in Daten mit einer vorbestimmten Länge geschrieben, wie z. B. 16 Bytes, so dass der resultierende kombinierte EKB von jeder Vorrichtung, die durch irgendeine TLCE gemanagt wird, verwendet werden kann. Durch genaues Festlegen des Datenformats der kombinierten EKB, die gemeinsam in mehreren Kategorienbäumen verwendet werden, wird es für jede Vorrichtung in jedem Kategorienbaum möglich, die Position der Schlüsseldaten, die verwendet werden sollen, korrekt zu bestimmen. Wenn z. B. alle Schlüsseldaten in dem EKB mit 16 Bytes dargestellt werden, kann die Vorrichtung nacheinander die korrekten Schlüsseldaten extrahieren, die durch die Vorrichtung verarbeitet werden können und kann schließlich den Wurzelschlüssel erhalten.
  • Das heißt, gemäß dem Datenformat des kombinierten EKB, der aus mehreren Unter-EKBs erzeugt wird, werden mehrere Schlüsseldaten in Datenfeldern mit festgelegter Länge gespeichert. Wenn daher Unter-Aktivierungsschlüsselblocks (Unter-EKBs) mit verschiedenen Schlüsseldatenlängen gemäß verschiedenen Algorithmen in eine einzelne EKB kombiniert werden, ist es möglich, sogar wenn mehrere verschlüsselte Schlüsseldaten von Unter-EKBs gemäß der Anordnung der Knoten oder Blätter in dem Schlüsselbaum umgeordnet werden, die notwendigen Schlüsseldaten gemäß den Tags, die in dem EKB beschrieben sind, korrekt zu extrahieren. Ein derartig kombinierter EKB kann an Benutzer (Vorrichtungen) mit Hilfe der Übertragung über ein Netzwerk oder durch Bereitstellen eines Speichermediums, auf dem der EKB gespeichert ist, verteilt werden.
  • Die Schlüsselverteilungsstelle (KDC) fügt die Unter-EKBs, die von den TLCEs, soweit erforderlich, empfangen wurden, zusammen oder kombiniert diese und fügt eine Versionsnummer und Überprüfungsinformation hinzu. Der resultierende vollständige EKB wird an den EKB-Anforderer übertragen. Eine digitale Signatur, die die Kryptografie mit einem öffentlichen Schlüssel verwendet, kann durch eine von der Schlüsselverteilungsstelle (KDC) verschiedene Zertifikatautorität (CA) beschrieben werden.
  • Das Verfahren zum Erzeugen von Unter-EKBs und das Kombinieren dieser in einen einzelnen EKB wird mit Bezug auf 55 beschrieben. 55 zeigt eine Unter-EKB (A), die durch eine TLCE eines Kategorienbaums A (5100) in dem Verfahren zum Erzeugen einer kombinierten EKB, der von beiden Kategorienbäumen A (5100) und B (5200) gemeinsam genutzt werden kann, erzeugt wird. Die Unter-EKB (A) wird so erzeugt, dass jede Vorrichtung in dem Kategorienbaum A (5100) den Wurzelschlüssel extrahieren kann. Obwohl in den vorangehenden Beispielen der Wurzelbaum 5300 eine 8-Ebenen-Baumstruktur aufweist, wird eine 2-Ebenen-Baumstruktur in dem vorliegenden Beispiel aus Gründen der Einfachheit angenommen.
  • In 55 bezeichnet jede unterstrichene dreistellige Nummer [XXX] in der Baumstruktur einen Tag (e, l, r) in dem EKB. Wie zuvor (26 und 27) beschrieben, bezeichnet e = 1, dass Daten vorliegen und e = 0 bezeichnet, dass keine Daten vorliegen l = 1 bezeichnet, dass kein Zweig nach links abzweigt und l = 0 bezeichnet, dass ein Zweig nach links abzweigt. r = 1 bezeichnet, dass kein Zweig nach rechts abzweigt und r = 0 bezeichnet, dass ein Zweig nach rechts abzweigt.
  • Um den Unter-EKB (A) so zu erzeugen, dass alle Vorrichtungen (Blätter) in dem Kategorienbaum A (5100), der in 55 gezeigt ist, den Wurzelschlüssel extrahieren können, sollte der Unter-EKB (A) Daten enthalten, die durch Verschlüsseln des Wurzelschlüssels mit Hilfe eines Knotenschlüssels, der gemeinsam von allen Blättern gespeichert wird, erzeugt werden. Jede Vorrichtung weist Knotenschlüssel in ihren Pfaden in dem Vorrichtungsknotenschlüssel-(DNK-)Bereich 5120 des Kategorienbaums A (5100) auf, der in 55 gezeigt ist. Wenn daher der Wurzelschlüssel mit Hilfe eines Knotenschlüssels in der obersten Ebene in dem DNK Bereich 5120 verschlüsselt wird, genügt der resultierende EKB der obigen Anforderung.
  • Somit erzeugt die TLCE des Kategorienbaums A (5100) den Unter-EKB (A), so dass sein Tag-Teil aus 101, 010, 000, 111 und 111 besteht und sein Schlüsselteil aus Enc (K010, Kroot) und Enc (K011, Kroot) besteht. Die TLCE des Kategorienbaums A (5100) überträgt den resultierenden Unter-EKB (A) an die Schlüsselverteilungsstelle (KDC).
  • Ein Unter-EKB (B), der durch den Kategorienbaum B (5200) erzeugt wird, wird nachfolgend mit Bezug auf 56 beschrieben. Um den Unter-EKB (B) so zu erzeugen, dass alle Vorrichtungen (Blätter) in dem Kategorienbaum B (5200) den Wurzelschlüssel extrahieren können, sollte der Unter-EKB (B) Daten enthalten, die durch Verschlüsseln des Wurzelschlüssels mit Hilfe eines Knotenschlüssels, der gemeinsam durch alle Blätter gespeichert wird, erzeugt werden. Jede Vorrichtung weist Knotenschlüssel in seinem Pfad in dem Vorrichtungsknotenschlüssel-(DNK-)Bereich 5220 des Kategorienbaums B (5200) auf, der in 56 gezeigt ist. Wenn daher der Wurzelschlüssel mit Hilfe eines Knotenschlüssels in der obersten Ebene in dem DNK-Bereich 5220 verschlüsselt wird, genügt der resultierende EKB der obigen Anforderung.
  • Somit erzeugt die TLCE des Kategorienbaus B (5200) den Unter-EKB (B), so dass sein Tag-Teil aus 110, 010, 000, 111 und 111 besteht und sein Schlüssel-Teil aus Enc (K110, Kroot) und Enc (K111, Kroot) besteht. Die TLCE des Kategorienbaums B (5200) überträgt den resultierenden Unter-EKB (B) an die Schlüsselverteilungsstelle (KDC).
  • Die Schlüsselverteilungsstelle (KDC) erzeugt einen kombinierten EKB aus dem Unter-EKB (A) und dem Unter-EKB (B), die durch die entsprechenden TLCEs erzeugt werden. Der Verfahrensablauf des Erzeugens des kombinierten EKBs ist nachfolgend mit Bezug auf 57 beschrieben. Der kombinierte EKB wird so erzeugt, dass an Vorrichtungen, die zu dem Kategorienbaum A (5100) gehören, und alle Vorrichtungen, die zu dem Kategorienbaum B (5200) gehören, den Wurzelschlüssel von dem EKB extrahieren können. Grundsätzlich kann der kombinierte EKB durch Kombinieren der Abfolgen von Schlüsseldaten der empfangenen Unter-EKBs in eine einzelne Abfolge von Schlüsseldaten erzeugt werden, so dass die Positionen der Schlüsseldaten in der Abfolge den Positionen in dem Baum von der obersten Ebene zur untersten Ebene und von links nach rechts entsprechen.
  • Somit wird der Tag-Teil des kombinierten EKBs zu 100, 010, 010, 000, 000, 111, 111, 111, 111 und der Schlüsselteil zu Enc (K010, Kroot), Enc (K011, Kroot), Enc (K110, Kroot), Enc (K111, Kroot). Wenn alle Schlüsseldaten in dem Schlüsselteil z. B. durch 16 Bytes repräsentiert werden, wie zuvor beschrieben wurde, kann jede Vorrichtung in den Kategorienbäumen die Positionen der Schlüsseldaten, die durch die Vorrichtung verarbeitet werden können, detektieren und somit den Wurzelschlüssel aus dem kombinierten EKB extrahieren.
  • In dem obigen Beispiel des Verfahrensablaufs des Erzeugens von Unter-EKBs und dem kombinierten EKB wird angenommen, dass jeder Kategorienbaum keine für ungültig erklärte Vorrichtung aufweist. Der Verfahrensablauf zum Erzeugen der Unter-EKBs und eines kombinierten EKBs wird nachfolgend für den Fall beschrieben, dass eine für ungültig erklärte Vorrichtung vorliegt.
  • 58 zeigt den Verfahrensablauf des Erzeugens eines Unter-EKBs, wenn der Kategorienbaum A (5100) eine für ungültig erklärte Vorrichtung aufweist (01101) 5150. In diesem Fall wird der Unter-EKB als Unter-EKB (A') erzeugt, der nicht durch die für ungültig erklärte Vorrichtung (01101) 5150 verarbeitet werden kann, sondern durch andere Vorrichtungen in dem Kategorienbaum A (5100) verarbeitet werden kann.
  • In diesem bestimmten Beispiel wird der Unter-EKB erzeugt, indem Schlüsseldaten entlang der Pfade, die durch die durchgezogenen Linien in 58 angegeben sind, ausgewählt werden. Somit umfasst der Unter-EKB (A'), der durch die TLCE des Kategorienbaums A (5100) erzeugt wird, einen Tag-Teil, der aus 101, 010, 000, 111, 000, 001, 111 und 111 besteht und einen Schlüssel-Teil, der aus Enc (K010, Kroot), Enc (K0111, Kroot) und Enc (K01100, Kroot) besteht. Die TLCE des Kategorienbaums A (5100) überträgt den resultierenden Unter-EKB (A') an die Schlüsselverteilungsstelle (KDC).
  • Die Schlüsselverteilungsstelle (KDC) erzeugt einen kombinierten EKB aus dem Unter-EKB (A') und einem Unter-EKB (B), der von der TLCE des Kategorienbaums B (5200) (56) empfangen wird. Der Verfahrensablauf des Erzeugens des kombinierten EKB wird nachfolgend mit Bezug auf 59 beschrieben. Der kombinierte EKB wird so erzeugt, dass alle Vorrichtungen, die zu dem Kategorienbaum A (5100) gehören, ausgenommen die für ungültig erklärte Vorrichtung (01101) 5150, und alle Vorrichtungen, die zu dem Kategorienbaum B (5200) gehören, ohne Ausnahme den Wurzelschlüssel aus dem EKB extrahieren können. Grundsätzlich kann der kombinierte EKB durch Kombinieren der Abfolge von Schlüsseldaten der empfangenen Unter-EKBs in eine einzelne Abfolge von Schlüsseldaten erzeugt werden, so dass die Positionen der Schlüsseldaten in der Abfolge, die den Positionen in dem Baum von der obersten Ebene zur untersten Ebene und von links nach rechts entsprechen.
  • Somit besteht der Tagteil des kombinierten EKB aus 100, 010, 010, 000, 000, 111, 000, 111, 111, 001, 111 und 111 und der Schlüsselteil besteht aus Enc (K010, Kroot), Enc (K110, Kroot), Enc (K111, Kroot), Enc (K0111, Kroot) und Enc (K01100, Kroot). Dieser kombinierte EKB ermöglicht die Extrahierung des Wurzelschlüssels für alle Vorrichtungen, die zu dem Kategorienbaum A (5100) gehören, außer für die für ungültig erklärte Vorrichtung (01101) 5150 und ohne Ausnahme für alle Vorrichtungen, die zu dem Kategorienbaum B (5200) gehören.
  • (5) Verwenden des EKBs
  • Der EKB, der durch die Schlüsselverteilungsstelle (KDC) über den oben beschriebenen Prozess erzeugt wird, wird an den EKB-Anforderer übertragen.
  • Wenn z. B. bei einem Fall, bei dem der EKB-Anforderer
    • [a] einem Inhalte-Anbieter (CP) entspricht, der ein Inhalt speicherndes Medium, wie z. B. eine CD oder DVD, bereitstellt, oder
    • [b] ein Inhaltsschlüssel mit Hilfe des Wurzelschlüssels verschlüsselt wird, der durch den EKB extrahiert wird und ein Inhalt mit Hilfe des Inhaltsschlüssels verschlüsselt und verteilt wird. Der resultierende Inhalt kann nur von autorisierten Vorrichtungen verwendet werden, die zu der bestimmten Kategorie gehören und somit den EKB verarbeiten.
  • Wenn andererseits der EKB-Anforderer
    • [c1] einem Formathalter entspricht, der einen erhaltenen EKB einem Hersteller eines Speichermediums gemäß einem Format bereitstellt, in dem der EKB in dem Speichermedium gespeichert wird, wenn dieser erzeugt wird, werden der erzeugte EKB und der Inhaltsschlüssel, die mit Hilfe des Wurzelschlüssels verschlüsselt sind, dem Speichermedienhersteller bereitgestellt und Speichermedien, auf denen der EKB und der Inhaltsschlüssel, die mit Hilfe des Wurzelschlüssels verschlüsselt sind, gespeichert werden, werden durch den Speichermediumhersteller oder den EKB-Anforderer selbst erzeugt und die erzeugten Speichermedien werden verteilt. In diesem Fall können nur die Vorrichtungen, die zu dem bestimmten Kategorienbaum gehören und somit den EKB verarbeiten, eine Verschlüsselung und Entschlüsselung mit Hilfe des auf dem Speichermedium gespeicherten EKB bei dem Aufzeichnen/Wiedergeben des Inhalts durchführen.
  • In dem Fall, bei dem der EKB-Anforderer
    • [c2] einem Formathalter entspricht, der einen erhaltenen EKB einem Hersteller einer Aufzeichnungsvorrichtung gemäß einem Format zur Verfügung stellt, bei dem der EKB auf dem Aufzeichnungsmedium gespeichert wird, wenn dieser erzeugt wird, werden der erzeugte EKB und der Inhaltsschlüssel, die mit Hilfe des Wurzelschlüssels verschlüsselt werden, dem Aufzeichnungsvorrichtungshersteller bereitgestellt und Aufzeichnungsvorrichtungen, in denen der EKB und der Inhaltsschlüssel, die mit Hilfe des Wurzelschlüssels verschlüsselt sind, gespeichert sind, durch den Aufzeichnungsvorrichtungshersteller oder den EKB-Anforderer selbst erzeugt, und die erzeugten Aufzeichnungsvorrichtungen werden vertrieben. In diesem Fall können nur die Vorrichtungen, die zu dem bestimmten Kategorienbaum gehören und somit den EKB verarbeiten können, die Verschlüsselung und Entschlüsselung mit Hilfe des EKB bei der Aufzeichnung/Wiedergabe des Inhalts durchführen.
  • Bei dem obigen Verfahrensablauf werden eine gegenseitige Authentifizierung und eine Verschlüsselung der Übertragungsdaten, soweit erforderlich, bei der Kommunikation zwischen Einheiten, EKB-Anforderern, der Schlüsselverteilungsstelle (KDC) und den TLCEs durchgeführt. Weiterhin wird eine Verschlüsselung von anderen Mitteilungen, einem Schreiben einer Signatur und einer Datenüberprüfung ebenfalls durchgeführt. In einem Fall, bei dem eine Authentifizierung und eine kryptografische Kommunikation mit Hilfe der Kryptografietechnologie mit einem öffentlichen Schlüssel durchgeführt wird, ist es erforderlich, dass Einheiten bereits ihre öffentlichen Schlüssel besitzen.
  • (Erzeugen eines EKB durch einfaches Kombinieren von Unter-EKBs)
  • Bei dem oben beschriebenen Verfahrensablauf des Erzeugens einer kombinierten EKB aus Unter-EKBs wird eine Abfolge von verschlüsselten Schlüsseldaten, die in den entsprechenden Unter-EKBs enthalten sind, so umgeordnet, dass die Positionen der Schlüsseldaten in der Abfolge den Positionen in dem gesamten Baum von der obersten Ebene zur untersten Ebene entsprechen. Eine Technik zum Erzeugen eines kombinierten EKB durch einfaches Kombinieren von Unter-EKBs, die durch die TLCEs der Kategorienbäume erzeugt werden, in einen einzelnen EKB ohne Durchführen einer Umordnung wird nachfolgend beschrieben.
  • 60 zeigt ein Beispiel eines kombinierten EKBs 6000, der durch einfaches Kombinieren von Unter-EKBs erzeugt wird, der durch die TLCEs der Kategorienbäume in eine einzelne EKB ohne eine Umordnung durchzuführen, erzeugt wird.
  • In dem Prozess des Ausgebens eines EKB sendet eine Schlüsselverteilungsstelle (KDC) eine Unter-EKB-Erzeugungsanfrage an die TLCEs, die Einheiten entsprechen, die Kategorienbäume, die einer EKB-Typ-Identifikationsnummer entsprechen, managen, in der EKB-Typ-Definitionsliste, die durch einen EKB-Anforderer bestimmt ist. Die Unter-EKBs 6110, 6120 usw., die von den TLCEs empfangen werden, werden einfach miteinander in einen einzelnen EKB kombiniert, wodurch ein kombinierter EKB erzeugt wird. Damit jede Vorrichtung, die zu einer bestimmten Kategorie gehört, aus dem kombinierten EKB eine Unter-EKB auswählen kann, die der bestimmten Kategorie entspricht, zu der die Vorrichtung gehört, und die somit durch die Vorrichtung verarbeitet werden kann, werden Daten (Datenlänge) 6111, die die Datengröße jeder Unter-EKB angeben und Daten (Knoten-ID) 6112, die die Kategorie angeben, die jeder Unter-EKB entsprechen, hinzugefügt.
  • Das heißt, der kombinierte EKB enthält zusätzlich zu den ausgewählten Unter-EKBs die Daten, die die Datenlänge der entsprechenden Unter-EKBs Speicherbereich angeben und die Knoten-IDs, die als Unter-EKB-Identifikationsdaten dienen, der entsprechenden Kategorienbäume, die den Unter-EKBs entsprechen. Weiterhin werden Informationen, die die Anzahl der Unter-EKBs, die in der kombinierten EKB enthalten sind, in deren Kopfabschnitt 6200 beschrieben. Weiterhin wird eine Signatur 6300 (durch eine Zertifikatautorität oder dgl.) gemäß den gesamten Daten des kombinierten EKB erzeugt und diesen hinzugefügt.
  • 61 zeigt einen kombinierten EKB, der auf die oben beschriebene Weise mit Bezug auf 57 erzeugt worden ist. Ein Unter-EKB, der in einem Unter-EKB-Feld 6110 beschrieben ist, ist exakt der gleiche wie der Unter-EKB (A), der durch die TLCE des Kategorienbaums A erzeugt wird, der oben mit Bezug auf 55 beschrieben worden ist, wobei dessen Tag-Teil aus 101, 010, 000, 111 und 111 besteht und der Schlüsselteil aus Enc (K010, Kroot) und Enc (K011, Kroot) besteht. Ein Unter-EKB, der in einem Unter-EKB-Feld 6120 beschrieben wird, ist exakt der gleiche wie der Unter-EKB (B), der durch die TLCE des Kategorienbaums B erzeugt wird, der mit Bezug auf 56 oben beschrieben wird, wobei dessen Tag-Teil aus 110, 010, 000, 111 und 111 besteht und dessen Schlüsselteil aus Enc (K110, Kroot) und Enc (K111, Kroot) besteht.
  • 62 zeigt die Datenstruktur eines kombinierten EKBs, der aus Unter-EKBs erzeugt wird, die in 58 und 59 gezeigt sind, und die in einem Fall erzeugt werden, in dem eine für ungültig erklärte Vorrichtung vorhanden ist. Ein Unter-EKB, der in einem Unter-EKB-Feld 6110 beschrieben wird, ist genau der gleiche wie die Unter-EKB (A'), die durch die TLCE des Kategorienbaums A, der oben mit Bezug auf 58 beschrieben wurde, erzeugt wird, wobei dessen Tag-Teil aus 101, 010, 000, 111, 000, 001, 111 und 111 besteht und dessen Schlüssel-Teil aus Enc (K010, Kroot), Enc (K0111, Kroot) und Enc (K01100, Kroot) besteht. Ein Unter-EKB, der in einem Unter-EKB-Feld 6120 beschrieben wird, ist exakt der gleiche wie der Unter-EKB (B), der durch die TLCEs des Kategorienbaums C erzeugt wird, die keine für ungültig erklärte Vorrichtung enthalten, und oben mit Bezug auf 56 beschrieben worden ist, wobei dessen Tag-Teil aus 110, 010, 000, 111 und 111 besteht und dessen Schlüssel-Teil aus Enc (K110, Kroot) und Enc (K111, Kroot) besteht.
  • Der kombinierte EKB, der oben beschrieben wurde, ermöglicht es für jede Vorrichtung, die zu einer bestimmten Kategorie gehört, eine Unter-EKB auszuwählen, die dieser bestimmten Kategorie entspricht, und den ausgewählten Unter-EKB zu verarbeiten (zu entschlüsseln). Dies ermöglicht es, dass eine Unter-EKB für jede Kategorie (TLCE) mit Hilfe eines absolut willkürlichen Kryptografiealgorithmus oder Schlüssellänge erzeugt zu werden. Mit anderen Worten, jede TLCE kann den Kryptografiealgorithmus und die Schlüssellänge festlegen, ohne durch andere Kategorien beeinflusst zu werden.
  • Die Schlüsselverteilungsstelle (KDC) muss die Tag-Teile und die Schlüsseldatenteile der Unter-EKBs, die von den entsprechenden TLCEs empfangen werden, nicht zerlegen und erneut zusammensetzen, und somit wird die Komplexität des Verfahrensablaufs vereinfacht.
  • Wenn eine Vorrichtung einen EKB erhält, der gemäß dem vorliegenden Schema erzeugt wird, kann die Vorrichtung einen Unter-EKB detektieren, der einer Kategorie entspricht, zu der die Vorrichtung gehört und kann einen Wurzelschlüssel durch Verarbeiten des Unter-EKB gemäß einer bestimmten Prozedur, die durch eine die Vorrichtung managende TLCE bestimmt ist, extrahieren. Es ist nicht notwendig, die Prozeduren, die durch die TLCEs der anderen Kategorien festgelegt werden, zu kennen. Es ist auch nicht notwendig, die Schlüssel in einem Unter-EKB so zu beschreiben, dass die Schlüssel eine festgelegte Länge aufweisen, und theoretisch kann die Schlüssellänge auf einen willkürlichen Wert festgelegt werden.
  • (Ungültigerklärung (1))
  • Ein Verfahren zum Ungültigerklären, das in einem Fall durchgeführt wird, bei dem ein EKB gemeinsam von mehreren Kategorien verwendbar ist, wird nachfolgend beschrieben. Zunächst wird ein Verfahren zum Ungültigerklären beschrieben, das in einem Fall auftreten kann, bei dem ein verschlüsselter Inhalt von außen über ein Netzwerk oder ein Medium erhalten wird, ein Inhaltsschlüssel mit Hilfe eines Schlüssels, der von einem EKB extrahiert wird, entschlüsselt wird und schließlich der Inhalt entschlüsselt wird.
  • Mit Bezug auf 63 wird angenommen, dass ein EKB 7000 gemeinsam von einem Kategorienbaum A (7100) und einem Kategorienbaum B (7200) verwendet wird. Der EKB 7000, der gemeinsam durch den Kategorienbaum A (7100) und den Kategorienbaum B (7200) verwendet wird, wird einer EKB-Typ-Identifikationsnummer #1 in der EKB-Typ-Definitionsliste zugeordnet.
  • In einem solchen Fall stellt ein Inhalte-Anbieter einen Inhalt, der mit Hilfe eines Inhaltsschlüssel verschlüsselt wird, über ein Netzwerk oder ein Medium zur Verfügung, und Vorrichtungen, die zu einem Kategorienbaum A (7100) gehören, und Vorrichtungen, die zu einem Kategorienbaum B (7200) gehören, verwenden den Inhalt durch Extrahieren eines Wurzelschlüssels aus dem EKB 7000, erhalten den Inhaltsschlüssel durch Durchführen einer Entschlüsselung mit Hilfe des Wurzelschlüssels und entschlüsseln schließlich den verschlüsselten Inhalt mit Hilfe des Inhaltsschlüssels. Wenn in diesem Fall ein Bruch der Vertraulichkeit der Schlüsseldaten oder ein anderer nicht autorisierter Zustand der Vorrichtung A1 (7120), die zu dem Kategorienbaum A (7100) gehört, detektiert wird, wird die Vorrichtung A1 (7120) für ungültig erklärt.
  • Um ein Ungültigerklären durchzuführen, gibt die TLCE des Kategorienbaums A (7100) zunächst eine Baumänderungsmitteilung (53) an die Schlüsselverteilungsstelle (KDC) aus. Gemäß der empfangenen Baumänderungsmitteilung sendet die Schlüsselverteilungsstelle (KDC) eine Mitteilung an die TLCEs und EKB-Anforderer, die von der Schlüsselverteilungsstelle (KDC) gemanagt werden. Die Mitteilung umfasst nur Informationen, die angeben, dass die Baumänderungsmitteilung empfangen worden ist, und eine Erneuerung der EKB-Typ-Definitionsliste wird nicht zu diesem Zeitpunkt durchgeführt.
  • Die Baumänderungsmitteilung, die in Folge eines Ungültigerklärens ausgegeben wird, kann nur an die Einheiten der EKB-Anforderer gesendet werden, die den EKB verwenden, der durch den Kategorienbaum, in dem das Ungültigerklären auftritt, verarbeitet werden kann oder weiter an Kategorieneinheiten, die andere Kategorienbäume managen, die den gleichen EKB verwenden, wie derjenige, der durch den Kategorienbaum verwendet wird, in dem das Ungültigerklären auftritt. Um es zu ermöglichen, den obigen Verfahrensablauf durchzuführen, speichert die Schlüsselverteilungsstelle (KDC) eine Liste von Benutzern von bereits ausgegebenen EKBs, in denen EKB-Anforderer, die bestimmte EKB-Typen verwenden und die EKB-Typ-Identifikationsnummern entsprechen, aufgeführt sind.
  • Ein Inhalte-Anbieter, der Vorrichtungen in dem Kategorienbaum, in dem das Ungültigerklären durchgeführt worden ist und der in diesem Fall auch einem EKB-Anforderer entspricht, einen Inhalt bereitstellt, fragt bei der Schlüsselverteilungsstelle (KDC) nach, einen EKB zu erzeugen, der so erneuert ist, dass nur andere Vorrichtungen, als die für ungültig erklärte Vorrichtung den EKB verarbeiten können. In diesem bestimmten Fall wird der Inhalte-Anbieter, der sich als der EKB-Anforderer ausgibt, in diesem Fall der EKB-Typ-Identifikatikonsnummer #1, die den EKB-Typ angibt, der gemeinsam von dem Kategorienbaum A (7100) und dem Kategorienbaum B (7200) verwendet wird, bestimmen. Danach erzeugt der EKB-Anforderer einen neuen Wurzelschlüssel und sendet diesen zu der KDC oder alternativ fordert der EKB-Anforderer bei der KDC an, einen neuen Wurzelschlüssel zu erzeugen.
  • Gemäß der bestimmten EKB-Typ-Identifikationsnummer #1 durchsucht die Schlüsselverteilungsstelle (KDC), die EKB-Typ-Definitionsliste, um Knoten von sich darauf beziehenden Kategorienbäumen zu detektieren und fordert die TLCEs der Kategorienbäume A (7100) und B (7200), die den detektierten Knoten entsprechen, auf, einen Unter-EKB zu erzeugen, aus dem autorisierte Vorrichtungen einen neuen Wurzelschlüssel extrahieren können.
  • Infolge der Anfrage erzeugt jede TLCE der Kategorienbäume A (7100) und B (7200) einen Unter-EKB. In diesem bestimmten Fall wird in dem Kategorienbaum A (7100) ein Unter-EKB (A) so erzeugt, dass nur andere Vorrichtungen, als die für ungültig erklärte Vorrichtung A1 (7120) den neuen Wurzelschlüssel aus dem Unter-EKB (A) extrahieren können.
  • Wenn in dem Kategorienbaum B (7200) keine für ungültig erklärte Vorrichtung vorhanden ist, wird eine Unter-EKB (B) so erzeugt, dass alle Vorrichtungen, die zu dem Kategorienbaum B (7200) gehören, einen neuen Knotenschlüssel aus dem Unter-EKB (B) extrahieren können, und der resultierende Unter-EKB (B) wird an die Schlüsselverteilungsstelle (KDC) übertragen.
  • Die Schlüsselverteilungsstelle (KDC) erzeugt einen kombinierten EKB aus den Unter-EKBs, die von den entsprechenden TLCEs, die auf oben beschriebene Weise empfangen werden, und überträgt den resultierenden EKB an den EKB-Anforderer (Inhalte-Anbieter).
  • Der EKB-Anforderer (Inhalte-Anbieter) verteilt einen Inhalt mit Hilfe des neuen EKBs, der von der Schlüsselverteilungsstelle (KDC) empfangen wurde. Insbesondere verschlüsselt der EKB-Anforderer (Inhalte-Anbieter) den Inhalt mit Hilfe eines Inhaltsschlüssels und verschlüsselt den Inhaltsschlüssel mit Hilfe des Wurzelschlüssels, der durch Entschlüsseln des EKB extrahiert worden ist, und verteilt den verschlüsselten Inhalt und den Inhaltsschlüssel. Die Vorrichtungen, die zu dem Kategorienbaum A (7100) gehören, und die Vorrichtungen, die zu dem Kategorienbaum B (7200) gehören, können den Inhalt verwenden, indem der Wurzelschlüssel von dem EKB extrahiert wird und der Inhaltsschlüssel durch Durchführen einer Entschlüsselung mit Hilfe des Wurzelschlüssels extrahiert wird und schließlich der verschlüsselte Inhalt mit Hilfe des Inhaltsschlüssels entschlüsselt wird. Jedoch kann die für ungültig erklärte Vorrichtung A1 (7120) in dem Kategorienbaum A (7100) den erneuerten EKB nicht verarbeiten und somit nicht den Inhalt verwenden. In dem oben beschriebenen Beispiel erneuert die Schlüsselverteilungsstelle (KDC) die EKB-Typ-Definitionsliste zu dem Zeitpunkt, zu dem die Baumänderungsmitteilung von der TLCE empfangen wird, nicht. Alternativ kann die Schlüsselverteilungsstelle zu dem Zeitpunkt, zu dem die Baumänderungsmitteilung empfangen wird, den EKB und die EKB-Typ-Definitionsliste gemäß der Baumänderungsmitteilung erneuern und kann die erneuerte EKB-Typ-Definitionsliste an die EKB-Anforderer und TLCEs übertragen.
  • (Ungültigerklären (2))
  • Ein Verfahren zum Ungültigerklären wird nun beschrieben, das in einem Fall auftreten kann, bei dem verschiedene Inhalte verschlüsselt werden und von einem Benutzer in einer Aufzeichnungsvorrichtung oder einem Speichermedium, in denen ein EKB gespeichert ist, gespeichert werden, wobei ein Wurzelschlüssel, der von dem EKB, der in der Aufzeichnungsvorrichtung oder dem Speichermedium gespeichert ist, extrahiert wird, als ein Schlüssel verwendet wird, der zur Verschlüsselung und Entschlüsselung benötigt wird. Dieser Typ von Aufzeichnungsvorrichtung oder Speichermedium soll einem Selbstaufzeichnungstyp entsprechen.
  • Mit Bezug auf 64 wird angenommen, dass ein EKB 7000 gemeinsam von einem Kategorienbaum A (7100) und einem Kategorienbaum B (7200) genutzt werden soll. Das heißt, der EKB für die gemeinsame Benutzung wird in Aufzeichnungsvorrichtungen oder Speichermedien, die gemeinsam in dem Kategorienbaum A (8100) und dem Kategorienbaum B (8200) genutzt werden, und Benutzer zeichnen einen Inhalt durch Verschlüsseln und Entschlüsseln mit Hilfe des EKBs auf und geben diesen wieder. Der EKB 8000, der gemeinsam durch den Kategorienbaum A (8100) und den Kategorienbaum B (8200) verwendet wird einer EKB-Typ-Identifikationsnummer #1 in der EKB-Typ-Definitionsliste zugeordnet.
  • Wenn in diesem Fall ein Bruch der Vertraulichkeit der Schlüsseldaten oder ein weiterer nicht autorisierter Zustand einer Vorrichtung A1 (8120), die zu dem Kategorienbaum A (8100) gehört, detektiert wird, wird die Vorrichtung A1 (8120) für ungültig erklärt.
  • Um ein Ungültigerklären durchzuführen, gibt die TLCE des Kategorienbaums A (8100) zunächst eine Baumänderungsmitteilung (53) an die Schlüsselverteilungsstelle (KDC) aus. Gemäß der empfangenen Baumänderungsmitteilung sendet die Schlüsselverteilungsstelle (KDC) eine Mitteilung an die TLCEs, die durch die Schlüsselverteilungsstelle (KDC) gemanagt werden und an die zugeordneten EKB-Anforderer. Die Mitteilung umfasst nur eine Information, die angibt, dass die Baumänderungsmitteilung empfangen worden ist, und eine Erneuerung der EKB-Typ-Definitionsliste wird zu diesem Zeitpunkt nicht durchgeführt.
  • Um zu verhindern, dass Inhalte weiter durch die für ungültig erklärte Vorrichtung A1 (8120) verwendet werden, fordert die TLCE des Kategorienbaums, in dem das Ungültigerklären aufgetreten ist, bei der Schlüsselverteilungsstelle (KDC) an, einen EKB zu erzeugen, der so erneuert ist, dass nur andere Vorrichtungen als die für ungültig erklärte Vorrichtung die EKB verarbeiten können. In diesem Fall dient diese TLCE als ein EKB-Anforderer. In diesem bestimmten Fall bestimmt die TLCE, die in diesem bestimmten Fall als der EKB-Anforderer dient, die EKB-Typ-Identifikationsnummer #1, die den EKB-Typ angibt, der gemeinsam durch den Kategorienbaum A (8100) und den Kategorienbaum B (8200) verwendet wird. Danach erzeugt der EKB-Anforderer einen neuen Wurzelschlüssel und sendet diesen an die KDC, oder alternativ fordert der EKB-Anforderer bei der KDC an, einen neuen Wurzelschlüssel zu erzeugen.
  • Gemäß der bestimmten EKB-Typ-Identifikationsnummer #1 durchsucht die Schlüsselverteilungsstelle (KDC) die EKB-Typ-Definitionsliste, um Knoten von aufeinander bezogenen Kategorienbäumen zu detektieren und fragt bei den TLCEs der Kategorienbäume A (8100) und B (8200), die den detektierten Knoten entsprechen, an, einen Unter-EKB zu erzeugen, von dem autorisierte Vorrichtungen einen neuen Wurzelschlüssel extrahieren können.
  • Infolge der Anfrage erzeugt jeder der TLCEs der Kategorienbäume A (8100) und B (8200) eine Unter-EKB. In diesem bestimmten Fall wird in dem Kategorienbaum A (8100) ein Unter-EKB (A) so erzeugt, dass nur andere Vorrichtungen als die für ungültig erklärte Vorrichtung A1 (8120) einen neuen Wurzelschlüssel von dem Unter-EKB (A) extrahieren können. Wenn in dem Kategorienbaum B (8200) keine für ungültig erklärte Vorrichtung vorhanden ist, wird ein Unter-EKB (B) so erzeugt, dass alle Vorrichtungen, die zu der Kategorie B (8200) gehören, einen neuen Wurzelschlüssel von dem Unter-EKB (B) extrahieren können, und der resultierende Unter-EKB (B) wird an die Schlüsselverteilungsstelle (KDC) übertragen.
  • Die Schlüsselverteilungsstelle (KDC) erzeugt einen kombinierten EKB aus den Unter-EKB, die von den entsprechenden TLCEs empfangen werden, auf die oben beschriebene Weise und überträgt den resultierenden EKB an die entsprechenden TLCEs (Formathalter).
  • Jede TLCE (Formathalter) sendet einen neuen EKB, der von der Schlüsselverteilungsstelle (KDC) empfangen wird, an Vorrichtungen, um den in den Vorrichtungen gespeicherten EKB zu aktualisieren. Die Vorrichtungen, die zu dem Kategorienbaum A (8100) gehören, und die Vorrichtungen, die zu dem Kategorienbaum B (8200) gehören, können einen neuen Inhalt in die Vorrichtungen, die bei der Verschlüsselung/Entschlüsselungsverarbeitung den Wurzelschlüssel verwenden, der von dem aktualisierten EKB extrahiert worden ist, verwenden, schreiben. Der aufgezeichnete Inhalt, der mit Hilfe des neuen EKBs verschlüsselt wird, kann nur entschlüsselt werden, wenn der entsprechende EKB angewendet wird, und somit kann die für ungültig erklärte Vorrichtung den Inhalt nicht verwenden.
  • Die vorliegende Erfindung wurde ausführlich oben mit Bezug auf die bestimmten Ausführungsformen beschrieben. Es ist einem Fachmann offensichtlich, dass vielfältige Modifikationen und Ersatzmittel für diese Ausführungsformen in den zur Darstellung ausgewählten Ausführungsformen verwendet werden können, ohne von dem Bereich der Erfindung abzuweichen. Das heißt, die Ausführungsformen wurden oben mit Bezug auf ein Beispiel beschrieben und sind nicht einschränkend. Der Bereich der Erfindung soll einzig durch die beigefügten Ansprüche festgelegt sein.
  • Industrielle Anwendbarkeit
  • In dem Informationsverarbeitungssystem und Verfahren gemäß der vorliegenden Erfindung, das oben beschrieben wurde, wird ein Schlüsselbaum so erzeugt, dass er mehrere Unterbäume enthält, die als Kategorienbäume dienen, die gemäß Kategorien gruppiert sind und von Kategorieneinheiten gemanagt werden, und ein Aktivierungsschlüsselblock (EKB) wird so erzeugt, dass er Daten enthält, die erzeugt werden, indem ein Pfad in dem Schlüsselbaum ausgewählt wird und indem ein Schlüssel einer höheren Ebene in dem ausgewählten Pfad mit Hilfe eines Schlüssels einer niedrigeren Ebene in dem ausgewählten Pfad verschlüsselt wird, und der resultierende Aktivierungsschlüsselblock (EKB) wird einer Vorrichtung bereitgestellt, wobei das Ausgeben von EKBs auf Basis einer EKB-Typ-Definitionsliste gemanagt wird, die die Zuordnung zwischen einem EKB-Typ-Identifizierer und einer oder mehreren Identifikationsdaten darstellen, die einen oder mehrere Kategorienbäume angeben, die einen EKB eines durch den EKB-Typ-Identifzierer identifizierten EKB-Typs verarbeiten können, wodurch es für einen EKB-Anforderer, der eine EKB-Erzeugungsanfrage ausgibt, möglich ist, eine Kategorie einfach auszuwählen, auf die der EKB angewendet werden soll.
  • Weiterhin wird in dem Informationsverarbeitungssystem und Verfahren gemäß der vorliegenden Erfindung eine Mitteilung der Änderung eines Zustands eines Kategorienbaums, der einen EKB, der in der EKB-Typ-Definitionsliste identifiziert ist, verarbeiten kann, an eine Einheit gesendet, die den EKB verwendet, wodurch es möglich ist, die neuesten EKB-Typ-Definitionsinformationen bei der Verarbeitung zu verwenden.

Claims (6)

  1. Informationsverarbeitungssystem umfassend: eine Einrichtung zum Erzeugen eines Schlüsselblocks gemäß einem Schlüsselbaum, der Endknoten, eine Wurzel und Knoten, die in Pfaden von den entsprechenden Endknoten bis zur Wurzel vorliegen, umfasst, wobei mehrere Vorrichtungen (20) den entsprechenden Endknoten zugeordnet sind und Schlüssel der Wurzel, den Endknoten und den Knoten zugeordnet sind, wobei jede Vorrichtung einen Zugriff auf eine Knotenschlüsselmenge aufweist, die jeden Schlüssel in dem Schlüsselbaum auf einem Pfad zwischen dem Endknoten, der der Vorrichtung entspricht, und der Wurzel des Schlüsselbaums umfasst, wobei der Schlüsselblock Daten aufweist, die durch Auswählen eines Pfads in dem Schlüsselbaum erzeugt werden, und einen Schlüssel einer höheren Ebene in dem ausgewählten Pfad mit Hilfe eines Schlüssels einer niedrigeren Ebene in dem ausgewählten Pfad verschlüsselt, so dass die verschlüsselten Daten nur durch eine Vorrichtung entschlüsselt werden können, die Zugriff auf eine Knotenschlüsselmenge aufweist, die dem ausgewählten Pfad entspricht, wobei der resultierende Schlüsselblock der Vorrichtung bereitgestellt wird, eine Einrichtung zum Bereitstellen einer Definitionsliste für einen Schlüsselblocktyp, die eine Entsprechung zwischen einer Schlüsselblocktyp-Identifikationsnummer und eine Gruppe von einem oder mehreren Kategoriebäumen spezifiziert, wobei jeder Kategoriebaum eine Menge von Knoten oder Endknoten, die aus den Knoten und Endknoten des Schlüsselbaums ausgewählt sind, umfasst, wobei die ausgewählte Menge von Knoten oder Endknoten des Schlüsselbaums einen obersten Knoten, der eine Kategorie von Vorrichtungen darstellt, und Knoten oder Endknoten von niedrigeren Ebenen des Schlüsselbaums auf Pfaden, die von dem obersten Knoten ausgehen, enthält, wobei jeder Endknoten in dem Kategorienbaum eine Vorrichtung darstellt, die zu der Kategorie von Vorrichtungen, die von dem obersten Knoten des Kategorienbaums dargestellt wird, gehört, wobei der Schlüsselblock auf eine Schlüsselblockanforderung anhand von mehreren Schlüsselbäumen, die gemäß einer Schlüsselblocktyp-Identifikationsnummer festgelegt sind, die in der Schlüsselblockanforderung spezifiziert ist, erzeugt wird, und wobei der Schlüsselblock ausgebildet ist, um durch Vorrichtungen, die den mehreren Kategorienbäumen zugeordnet sind, entschlüsselt zu werden, eine Einrichtung zum Verteilen eines erneuerten Schlüsselblocks, der den erneuerten Schlüssel für die Vorrichtung, die dem Kategorienbaum zugeordnet sind, enthält, abhängig von einer Notwendigkeit, einen Schlüssel eines Kategorienbaums zu erneuern.
  2. Informationsverarbeitungssystem gemäß Anspruch 1, wobei eine Schlüsselblock-Anforderungseinheit ausgebildet ist, um eine Schlüsselblockerzeugungsanforderung an ein Schlüsselverteilungscenter abzugeben, das ausgebildet ist, um den Schlüsselblock zu erzeugen.
  3. Informationsanforderungsverfahren, umfassend: Erzeugen eines Schlüsselblocks gemäß einem Schlüsselbaum, der Endknoten, eine Wurzel und Knoten, die in Pfaden von den entsprechenden Endknoten zur Wurzel vorliegen, umfasst, wobei mehrere Vorrichtungen (20) den entsprechenden Endknoten zugeordnet sind und Schlüssel der Wurzel, den Endknoten und den Knoten zugeordnet sind, wobei die Vorrichtungen Zugriff auf eine Knotenschlüsselmenge, die jeden Schlüssel in dem Schlüsselbaum auf einem Pfad zwischen dem Endknoten, das der Vorrichtung entspricht, und der Wurzel des Schlüsselbaums enthält, aufweisen, wobei der Schlüsselblock Daten enthält, die durch Auswählen eines Pfades in dem Schlüsselbaum erzeugt werden und einen Schlüssel einer oberen Ebene in dem ausgewählten Pfad mit Hilfe eines Schlüssels einer unteren Ebene in dem ausgewählten Pfad so verschlüsselt, dass die verschlüsselten Daten nur durch eine Vorrichtung entschlüsselt werden können, die Zugriff auf eine Knotenschlüsselmenge hat, die dem ausgewählten Pfad entspricht, wobei der resultierende Schlüsselblock der Vorrichtung bereitgestellt wird, Bereitstellen einer Definitionsliste für einen Schlüsselblocktyp, die eine Entsprechung zwischen einer Schlüsselblocktyp-Identifikationsnummer und einer Gruppe von einem oder mehreren Kategoriebäumen spezifiziert, wobei jeder Kategorienbaum eine Menge von Knoten oder Endknoten, die aus den Knoten und Endknoten des Schlüsselbaums ausgewählt sind, umfasst, wobei die ausgewählte Menge von Knoten oder Endknoten des Schlüsselbaums einen obersten Knoten umfasst, der eine Kategorie von Vorrichtungen darstellt, und Knoten oder Endknoten unterer Ebenen des Schlüsselbaums auf Pfaden, die von dem obersten Knoten ausgehen, enthält, wobei jeder Endknoten in dem Kategorienbaum eine Vorrichtung darstellt, die zu der Kategorie von Vorrichtungen, die durch den obersten Knoten des Kategorienbaums dargestellt wird, gehört, wobei der Schlüsselblock abhängig von einer Schlüsselblockanforderung, anhand von mehreren Kategorienbäumen, die gemäß einer Schlüsselblocktyp-Identifikationsnummer, die in der Schlüsselblockanforderung spezifiziert ist, festgelegt sind, erzeugt wird, und wobei der Schlüsselblock ausgebildet ist, von Vorrichtungen, die den mehreren Kategorienbäumen zugeordnet sind, entschlüsselt werden, Verteilen abhängig von einer Notwendigkeit, einen Schlüssel eines Knotens eines Kategorienbaumes zu erneuern, eines erneuerten Schlüsselblocks, der den erneuerten Schlüssel für die Vorrichtungen, die dem Kategorienbaum zugeordnet sind, enthält.
  4. Informationsverarbeitungsverfahren nach Anspruch 3, wobei eine Schlüsselblockanforderungseinheit eine Schlüsselblockerzeugungsanforderung an ein Schlüsselverteilungscenter absetzt, die den Schlüsselblock enthält.
  5. Informationsverarbeitungsverfahren nach Anspruch 3 oder 4, wobei der erneuerte Schlüsselblock verteilt wird, wenn festgestellt wird, dass die Knotenschlüsselmenge, die durch eine Vorrichtung gespeichert wird, gehackt worden ist und die Schlüsselsicherheit verletzt ist.
  6. Programmspeichermedium mit einem darin gespeicherten Computerprogramm, das einem Computersystem ermöglicht, ein Informationsverarbeitungsverfahren gemäß Anspruch 3, 4 oder 5 auszuführen.
DE60127096T 2000-12-26 2001-12-21 Vorrichtung und verfahren zur informationsverarbeitung Expired - Lifetime DE60127096T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2000396098A JP4710132B2 (ja) 2000-12-26 2000-12-26 情報処理システム、および情報処理方法、並びにプログラム記録媒体
JP2000396098 2000-12-26
PCT/JP2001/011237 WO2002052781A1 (fr) 2000-12-26 2001-12-21 Systeme de traitement de l'information et procede

Publications (2)

Publication Number Publication Date
DE60127096D1 DE60127096D1 (de) 2007-04-19
DE60127096T2 true DE60127096T2 (de) 2007-11-08

Family

ID=18861456

Family Applications (2)

Application Number Title Priority Date Filing Date
DE60127096T Expired - Lifetime DE60127096T2 (de) 2000-12-26 2001-12-21 Vorrichtung und verfahren zur informationsverarbeitung
DE60137270T Expired - Lifetime DE60137270D1 (de) 2000-12-26 2001-12-21 Hierarchisches Data Content Baumverteilung Informationsystem und -Verfahren

Family Applications After (1)

Application Number Title Priority Date Filing Date
DE60137270T Expired - Lifetime DE60137270D1 (de) 2000-12-26 2001-12-21 Hierarchisches Data Content Baumverteilung Informationsystem und -Verfahren

Country Status (9)

Country Link
US (2) US7167564B2 (de)
EP (2) EP1710947B1 (de)
JP (1) JP4710132B2 (de)
KR (1) KR100852305B1 (de)
CN (1) CN1211975C (de)
AT (2) ATE356484T1 (de)
DE (2) DE60127096T2 (de)
HK (1) HK1058269A1 (de)
WO (1) WO2002052781A1 (de)

Families Citing this family (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7188176B1 (en) 2000-01-20 2007-03-06 Priceline.Com Incorporated Apparatus, system, and method for maintaining a persistent data state on a communications network
JP4710132B2 (ja) * 2000-12-26 2011-06-29 ソニー株式会社 情報処理システム、および情報処理方法、並びにプログラム記録媒体
JP4581246B2 (ja) * 2000-12-26 2010-11-17 ソニー株式会社 情報処理システム、および情報処理方法、並びにプログラム記録媒体
MXPA02011835A (es) 2001-03-29 2003-10-06 Matsushita Electric Ind Co Ltd Sistema de proteccion de datos que proteje datos al encriptar los datos.
US7336791B2 (en) 2001-03-29 2008-02-26 Sony Corporation Information processing apparatus
GB0129065D0 (en) * 2001-12-05 2002-01-23 Philips Electronics Uk Ltd Method and apparatus for verifying the integrity of system data
US7340603B2 (en) * 2002-01-30 2008-03-04 Sony Corporation Efficient revocation of receivers
JP2004054834A (ja) * 2002-07-24 2004-02-19 Matsushita Electric Ind Co Ltd プログラム開発方法、プログラム開発支援装置およびプログラム実装方法
KR100924773B1 (ko) * 2002-09-16 2009-11-03 삼성전자주식회사 메타데이터 암호화 및 복호화 방법과 암호화된 메타데이터관리 방법 및 그 시스템
JP3821086B2 (ja) * 2002-11-01 2006-09-13 ソニー株式会社 ストリーミングシステム及びストリーミング方法、クライアント端末及びデータ復号方法、並びにプログラム
US7296158B2 (en) * 2002-11-08 2007-11-13 Palo Alto Research Center Incorporated Methods, apparatus, and program products for inferring service usage
JP4099039B2 (ja) * 2002-11-15 2008-06-11 松下電器産業株式会社 プログラム更新方法
US7386126B2 (en) * 2003-01-15 2008-06-10 Matsushita Electric Industrial Co., Ltd. Content protection system, key data generation apparatus, and terminal apparatus
JP4284497B2 (ja) * 2003-01-29 2009-06-24 日本電気株式会社 情報共有方法、装置、およびプログラム
US7835520B2 (en) * 2003-02-20 2010-11-16 Zoran Corporation Unique identifier per chip for digital audio/video data encryption/decryption in personal video recorders
US8132024B2 (en) * 2003-03-11 2012-03-06 Panasonic Corporation Digital work protection system, recording apparatus, reproduction apparatus, and recording medium
US7426637B2 (en) * 2003-05-21 2008-09-16 Music Public Broadcasting, Inc. Method and system for controlled media sharing in a network
US7165238B2 (en) * 2003-06-06 2007-01-16 Intentional Software Corporation Method and system for organizing and manipulating nodes by category in a program tree
EP1653653B1 (de) * 2003-08-05 2017-11-15 Panasonic Intellectual Property Management Co., Ltd. Copyright-schutzsystem
US20050049886A1 (en) * 2003-08-28 2005-03-03 Sbc Knowledge Ventures, L.P. System and method for managing digital rights and content assets
US7299493B1 (en) * 2003-09-30 2007-11-20 Novell, Inc. Techniques for dynamically establishing and managing authentication and trust relationships
US7467415B2 (en) * 2003-09-30 2008-12-16 Novell, Inc. Distributed dynamic security for document collaboration
US8015301B2 (en) * 2003-09-30 2011-09-06 Novell, Inc. Policy and attribute based access to a resource
US7412603B2 (en) * 2003-12-05 2008-08-12 Microsoft Corporation Methods and systems for enabling secure storage of sensitive data
US8037314B2 (en) * 2003-12-22 2011-10-11 Intel Corporation Replacing blinded authentication authority
US7802095B2 (en) * 2004-02-03 2010-09-21 Music Public Broadcasting, Inc. Method and system for preventing unauthorized recording of media content on a Macintosh operating system
JP4725070B2 (ja) * 2004-10-13 2011-07-13 パナソニック株式会社 正規コンテンツ確認方法、コンテンツ送受信システム、送信機、および受信機
JP3814620B2 (ja) * 2004-10-15 2006-08-30 株式会社東芝 情報処理装置および情報処理方法
US7386128B2 (en) * 2004-12-29 2008-06-10 General Instrument Corporation Conditional access system providing access to multiple programs or services
US7971070B2 (en) * 2005-01-11 2011-06-28 International Business Machines Corporation Read/write media key block
KR20060131536A (ko) 2005-06-16 2006-12-20 삼성전자주식회사 BE 시스템에서의 홈 디바이스의 통합적 키(key) 관리방법 및 그 시스템
JP4596256B2 (ja) * 2005-08-02 2010-12-08 ソニー株式会社 送受信システムおよび方法、送信装置および方法、受信装置および方法、並びにプログラム
WO2007059807A1 (en) * 2005-11-22 2007-05-31 Nero Ag Apparatus and method for retrieving a decryption key, license server and media player
US20080025504A1 (en) * 2005-11-23 2008-01-31 Robert Rapp Computer or digital device data encryption/decryption performed by using a random analog source
WO2007093946A1 (en) * 2006-02-14 2007-08-23 Koninklijke Philips Electronics N.V. Improved method of content protection
WO2007093925A1 (en) * 2006-02-14 2007-08-23 Koninklijke Philips Electronics N.V. Improved method of content protection
JP4837463B2 (ja) * 2006-07-11 2011-12-14 Kddi株式会社 鍵管理システム、鍵管理方法およびプログラム
US20100251381A1 (en) * 2007-08-17 2010-09-30 Seong-Oun Hwang System renewability message providing method and system renewability message using method and apparatus thereof
US8761402B2 (en) * 2007-09-28 2014-06-24 Sandisk Technologies Inc. System and methods for digital content distribution
US9083685B2 (en) * 2009-06-04 2015-07-14 Sandisk Technologies Inc. Method and system for content replication control
WO2011064883A1 (ja) * 2009-11-27 2011-06-03 株式会社東芝 メモリチップ
CN102725737B (zh) * 2009-12-04 2016-04-20 密码研究公司 可验证防泄漏的加密和解密
CN101882197B (zh) * 2010-05-31 2012-07-04 北京航空航天大学 一种基于分级密钥的rfid询问-应答安全认证方法
JP2012084071A (ja) * 2010-10-14 2012-04-26 Toshiba Corp デジタルコンテンツの保護方法、復号方法、再生装置、記憶媒体、暗号装置
JP5670272B2 (ja) * 2011-07-19 2015-02-18 株式会社東芝 情報処理装置、サーバ装置およびプログラム
US8661527B2 (en) 2011-08-31 2014-02-25 Kabushiki Kaisha Toshiba Authenticator, authenticatee and authentication method
US9647993B2 (en) * 2011-10-13 2017-05-09 Evolium Technologies, S.L. Multi-repository key storage and selection
US9928350B2 (en) 2012-02-17 2018-03-27 Irdeto B.V. Digital rights management
US9008316B2 (en) * 2012-03-29 2015-04-14 Microsoft Technology Licensing, Llc Role-based distributed key management
JP2016502295A (ja) * 2012-10-10 2016-01-21 レッド.コム,インコーポレイテッド 映像配給および再生
JP5992295B2 (ja) * 2012-11-02 2016-09-14 株式会社東芝 通信制御装置、通信装置およびプログラム
EP3248360B1 (de) 2015-01-19 2020-05-06 Inauth, Inc. Systeme und verfahren für sichere kommunikation mit sicherem weg
US20160246582A1 (en) * 2015-02-25 2016-08-25 Red Hat, Inc. Generic Semantic Configuration Service
US9774610B2 (en) * 2015-07-28 2017-09-26 Futurewei Technologies, Inc. Certificateless data verification with revocable signatures
US11128452B2 (en) * 2017-03-25 2021-09-21 AVAST Software s.r.o. Encrypted data sharing with a hierarchical key structure
US11303632B1 (en) * 2018-06-08 2022-04-12 Wells Fargo Bank, N.A. Two-way authentication system and method
KR20200085143A (ko) 2019-01-04 2020-07-14 삼성전자주식회사 외부 장치를 등록하는 대화형 제어 시스템 및 방법

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5748736A (en) * 1996-06-14 1998-05-05 Mittra; Suvo System and method for secure group communications via multicast or broadcast
US5999947A (en) * 1997-05-27 1999-12-07 Arkona, Llc Distributing database differences corresponding to database change events made to a database table located on a server computer
JPH11187013A (ja) * 1997-12-24 1999-07-09 Ibm Japan Ltd 暗号鍵配信システム
US6049878A (en) * 1998-01-20 2000-04-11 Sun Microsystems, Inc. Efficient, secure multicasting with global knowledge
DE19928848A1 (de) 1999-06-24 2000-12-28 Sator Laser Gmbh Vorrichtung zum Schneiden von Materialbahnen aus Papier oder Kunststoff
US6263435B1 (en) * 1999-07-06 2001-07-17 Matsushita Electric Industrial Co., Ltd. Dual encryption protocol for scalable secure group communication
US6240188B1 (en) * 1999-07-06 2001-05-29 Matsushita Electric Industrial Co., Ltd. Distributed group key management scheme for secure many-to-many communication
IL130963A (en) * 1999-07-15 2006-04-10 Nds Ltd Key management for content protection
JP4710132B2 (ja) * 2000-12-26 2011-06-29 ソニー株式会社 情報処理システム、および情報処理方法、並びにプログラム記録媒体

Also Published As

Publication number Publication date
EP1710947A1 (de) 2006-10-11
JP2002198952A (ja) 2002-07-12
EP1253739B1 (de) 2007-03-07
EP1253739A4 (de) 2005-02-02
DE60127096D1 (de) 2007-04-19
CN1426644A (zh) 2003-06-25
US20070098177A1 (en) 2007-05-03
ATE356484T1 (de) 2007-03-15
KR100852305B1 (ko) 2008-08-18
JP4710132B2 (ja) 2011-06-29
CN1211975C (zh) 2005-07-20
EP1253739A1 (de) 2002-10-30
US7738662B2 (en) 2010-06-15
US7167564B2 (en) 2007-01-23
HK1058269A1 (en) 2004-05-07
DE60137270D1 (de) 2009-02-12
EP1710947B1 (de) 2008-12-31
WO2002052781A1 (fr) 2002-07-04
ATE419691T1 (de) 2009-01-15
KR20030019315A (ko) 2003-03-06
US20030142824A1 (en) 2003-07-31

Similar Documents

Publication Publication Date Title
DE60127096T2 (de) Vorrichtung und verfahren zur informationsverarbeitung
DE60130430T2 (de) Verfahren und vorrichtung zur informationsverarbeitung
DE60126874T2 (de) Vorrichtung und verfahren zur informationsverarbeitung
DE69900178T2 (de) System zum Schutz von digitalen Inhalten
CN1901446B (zh) 使用了加密密钥组的信息处理系统及方法
CN100490369C (zh) 使用了加密密钥组的信息处理系统及方法
DE60126540T2 (de) Verfahren und vorrichtung zur informationsverarbeitung
US7346170B2 (en) Information processing system and method
DE69836450T2 (de) Verschlüsselungs-, Entschlüsselungs- und Informationsverarbeitungsgerät und -verfahren
DE69902078T2 (de) Medieninhaltschutz mit öffentlicher Schlüsselkrypthographie
DE60202568T2 (de) Urheberrechtschutzsystem, Aufzeichungsvorrichtung, und Wiedergabevorrichtung
DE69333754T2 (de) Schutzsystem für elektronische Daten
CN101112036B (zh) 信息处理装置、信息记录介质制造装置和信息记录介质
DE60016972T2 (de) Anpassbarer sicherheitsmechanismus, um unerlaubten zugang zu digitalen daten zu verhindern
US7788728B2 (en) Method and apparatus for limiting number of times contents can be accessed using hash chain
DE102004008702A1 (de) Inhaltsverschlüsselung unter Verwendung einer programmierbaren Hardware
DE60034685T2 (de) Verschlüsselungsverfahren und -vorrichtung, entschlüsselungsvorrichtung
EP1133849A1 (de) Verfahren und vorrichtung zum erzeugen eines verschlüsselten nutzdatenstroms und verfahren und vorrichtung zum entschlüsseln eines verschlüsselten nutzdatenstroms
US7505599B2 (en) Information processing system and method for managing encrypted data with tag information
TW567421B (en) Contents distribution system
DE60109537T2 (de) Vorrichtung, Verfahren und Programm zur Verwaltung eines Benutzerschlüssels, welcher bei der Unterschrift einer Nachricht in einem Datenverarbeitungsgerät benutzt wird
DE102022117713A1 (de) System und Verfahren zur Langzeitarchivierung elektronischer Daten
DE10245763A1 (de) Verfahren zur sicheren und vertrauenswürdigen Kommunikation von Daten durch die Zeit
DE102004002693A1 (de) Datensicherungsverfahren mit beliebig wählbaren Einmalschlüsseln und wahlfreiem Zugriff auf die Daten

Legal Events

Date Code Title Description
8364 No opposition during term of opposition