DE60310398T2 - Erzeugungsvorrichtung für eine widerrufliste für öffentliche schlüsselzertifikate, widerruf-beurteilungsvorrichtung und authentifikationssystem - Google Patents

Erzeugungsvorrichtung für eine widerrufliste für öffentliche schlüsselzertifikate, widerruf-beurteilungsvorrichtung und authentifikationssystem Download PDF

Info

Publication number
DE60310398T2
DE60310398T2 DE60310398T DE60310398T DE60310398T2 DE 60310398 T2 DE60310398 T2 DE 60310398T2 DE 60310398 T DE60310398 T DE 60310398T DE 60310398 T DE60310398 T DE 60310398T DE 60310398 T2 DE60310398 T2 DE 60310398T2
Authority
DE
Germany
Prior art keywords
revoked
revocation
information
node
key
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 - Fee Related
Application number
DE60310398T
Other languages
English (en)
Other versions
DE60310398D1 (de
Inventor
Toshihisa Neyagawa-shi NAKANO
Motoji Hirakata-shi Ohmori
Makoto Takarazuka-shi Tatebayashi
Hideshi Katano-shi Ishihara
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Application granted granted Critical
Publication of DE60310398D1 publication Critical patent/DE60310398D1/de
Publication of DE60310398T2 publication Critical patent/DE60310398T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • 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
    • 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
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • H04L9/3268Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Storage Device Security (AREA)

Description

  • TECHNISCHES GEBIET
  • Die vorliegende Erfindung betrifft eine Authentifizierungstechnik, die eine Public-Key-Verschlüsselungstechnik verwendet, und insbesondere eine Technik zum Spezifizieren eines widerrufenen Public-Key-Zertifikats.
  • ALLGEMEINER STAND DER TECHNIK
  • Die Anzahl von Systemen, die das Internet als eine Kommunikations-Infrastruktur nutzen, ist mit der schnellen Ausbreitung der Internet-Verwendung in den vergangenen Jahren gestiegen. Ein Beispiel sind elektronische Transaktionen zum Kaufen und Verkaufen von Waren über das Internet.
  • In einem solchen System, in dem das Internet als eine Kommunikations-Infrastruktur genutzt wird, ist es wichtig zu bestätigen, dass eine Partei, mit der eine Kommunikation durchgeführt wird, (hierin im Folgenden als "Gegenpartei" bezeichnet), ein rechtmäßiger Teilnehmer ist. Eine solche Bestätigung wird als Authentifizierung bezeichnet. Im Folgenden wird der Begriff "Vorrichtung" zum Verweisen auf die beiden Fälle verwendet, in denen die Gegenpartei eine Vorrichtung ist, die von einer Person bedient wird, und die Gegenpartei eine Vorrichtung ist, die eine Verarbeitung gemäß festgelegten Prozeduren durchführt. Die Authentifizierung der Gegenpartei wird als Vorrichtungsauthentifizierung bezeichnet. Es ist anzumerken, dass "zertifizieren" bedeutet, dass die Vorrichtung als rechtmäßig angegeben wird, mit anderen Worten, dass die Vorrichtung ein rechtmäßiger Teilnehmer in dem System ist, und "validieren" das Bestätigen der Rechtmäßigkeit der Gegenpartei bedeutet. Das Authentifizierungskonzept umfasst sowohl Zertifizierung als auch Validierung.
  • Zur Vorrichtungsauthentifizierung wird normalerweise eine Verschlüsselungstechnik verwendet. Insbesondere besitzt die zertifizierende Partei geheime Daten, die angeben, dass sie ein rechtmäßiger Teilnehmer in dem System ist, und ihre Rechtmäßigkeit zertifizieren, indem sie der validierenden Partei zeigen, dass sie (die zertifizierende Partei) die geheimen Daten besitzt. Auf der anderen Seite validiert die validierende Partei die Rechtmäßigkeit der zertifizierenden Partei, indem sie bestätigt, dass die zertifizierende Partei die geheimen Daten besitzt. In einem Kommunikationspfad wie beispielsweise dem Internet, wo jeder Kommunikationsdaten erlangen kann, ist es zwingend erforderlich, dass geheime Daten (Authentifizierungsdaten), die in der oben beschriebenen Authentifizierung verwendet werden, keiner dritten Partei preisgegeben werden, die nicht mit der Authentifizierung in Zusammenhang steht. Der Grund dafür ist, dass, wenn die geheimen Daten einer dritten Partei preisgegeben werden, die Vorrichtung, welche die geheimen Daten erlangt hat, sich als die ursprüngliche Vorrichtung ausgeben kann. Aus diesem Grund werden Authentifizierungsdaten in einem verschlüsselten Zustand nur zu der verifizierenden Partei übertragen.
  • Typen der Verschlüsselungstechnik umfassen eine Common-Key-Verschlüsselungstechnik und eine Public-Key-Verschlüsselungstechnik. In der Common-Key-Verschlüsselungstechnik weisen der Schlüssel zur Verschlüsselung und der Schlüssel zur Entschlüsselung den gleichen Wert auf. Demgegenüber weisen der Schlüssel zur Verschlüsselung und der Schlüssel zur Entschlüsselung in der Public-Key-Verschlüsselungstechnik verschiedene Werte auf.
  • Die Tatsache, dass die validierende Partei für die Authentifizierung in der Common-Key-Verschlüsselungstechnik die gleichen geheimen Daten wie die zertifizierende Partei besitzt, bedeutet, dass die Gefahr besteht, dass sich die verifizierende Partei als die zertifizierende Partei ausgeben kann. Das so genannte Passwort-Verfahren entspricht dieser Technik. Im Gegensatz dazu zertifiziert die zertifizierende Partei bei der Authentifizierung in der Public-Key-Verschlüsselungstechnik unter Verwendung eines geheimen Schlüssels der Public-Key-Verschlüsselungstechnik, und die verifizierende Partei verifiziert unter Verwendung eines öffentlichen Schlüssels, der dem geheimen Schlüssel entspricht. Da der geheime Schlüssel nicht aus dem öffentlichen Schlüssel hergestellt werden kann, ist es der verifizierende Partei nicht möglich, sich nach Beendigung der Authentifizierung als zertifizierende Partei auszugeben. Demzufolge ist das Public-Key-Verschlüsselungsverfahren zum Durchführen der oben beschriebenen Authentifizierung vorzuziehen.
  • Es ist anzumerken, dass bei der Authentifizierung unter Verwendung des Public-Key-Verschlüsselungsverfahrens "signieren" das Durchführen der Verarbeitung unter Verwendung des geheimen Schlüssels bezeichnet, und "verifizieren" das Bestätigen der Rechtmäßigkeit der Signatur unter Verwendung eines öffentlichen Schlüssels bezeichnet, der dem geheimen Schlüssel entspricht.
  • Folgendes ist ein Beispiel für eine Gegenpartei-Authentifizierungsverarbeitung unter Verwendung der Public-Key-Authentifizierungstechnik. Insbesondere überträgt eine erste Vorrichtung Zufallszahl-Daten zu einer zweiten Vorrichtung als Herausforderungsdaten (challenge data), und die zweite Vorrichtung generiert einen Signaturtext durch Signieren der empfangenen Zufallszahl-Daten mit ihrem eigenen geheimen Schlüssel und gibt den Signaturtext als Antwortdaten an die erste Vorrichtung zurück. Schließlich verifiziert die erste Vorrichtung den zurückgegebenen Signaturtext unter Verwendung des öffentlichen Schlüssels der zweiten Vorrichtung.
  • Eine Voraussetzung in der beschriebenen Authentifizierung unter Verwendung des Public-Key-Verschlüsselungsverfahrens ist, dass der öffentliche Schlüssel in dem System gültig ist.
  • Aus diesem Grund wird normalerweise ein "Public-Key-Zertifikat", (eine "Genehmigung" zum Besitzen eines öffentlichen Schlüssels), die angibt, dass der öffentliche Schlüssel ein rechtmäßiger öffentlicher Schlüssel ist, welcher der Vorrichtung entspricht, von einer Organisation, die als Zertifikatsbehörde bezeichnet wird, in dem System ausgegeben. Das Public-Key-Zertifikat sind Daten, die durch Verketten einer Kennung, eines Gültigkeitszeitraums, eine öffentlichen Schlüssels und so weiter und durch Anhängen der elektronischen Signatur der Zertifikatsbehörde an die verketteten Daten gebildet werden. Eine Vorrichtung, die das Public-Key-Zertifikat empfängt, bestätigt, dass die elektronische Signatur der Zertifikatsbehörde in Bezug auf die Daten korrekt ist, und bestätigt dann den Inhalt des Public-Key-Zertifikats aus der Kennung der Gegen-Vorrichtung, der aktuellen Zeit und so weiter, bevor sie bestätigt, dass der öffentliche Schlüssel korrekt ist.
  • Außerdem gibt die Zertifikatsbehörde eine Zertifikatswiderrufliste aus, (die im Folgenden als eine "CRL" bezeichnet wird). Die CRL ist eine Liste mit Informationen, die widerrufene Public-Key-Zertifikate spezifiziert, um Vorrichtungen über in der Vergangenheit ausgegebene Public-Key-Zertifikate zu benachrichtigen, die zu Vorrichtungen gehören, die nicht rechtmäßig und aus dem System entfernt worden sind. Die elektronische Signatur der Zertifikatsbehörde ist an die CRL angehängt.
  • Auf diese Weise kann eine Geschäftsbeziehung mit einer unrechtmäßigen Gegenvorrichtung verhindert werden, wenn eine Gegenvorrichtung unter Verwendung des öffentlichen Schlüssels der Gegenvorrichtung authentifiziert wird, indem zuerst das Public-Key-Zertifikat der Gegenvorrichtung erlangt und bestätigt wird, dass das erlangte Public-Key-Zertifikat nicht in der CRL registriert ist, mit anderen Worten, indem bestätigt wird, dass das Public-Key-Zertifikat nicht widerrufen worden ist, bevor die oben beschriebene Authentifizierung durchgeführt wird.
  • Es ist anzumerken, dass, da das Format, die Aktualisierung und so weiter von CRLs allgemein bekannte Techniken sind, hier keine Details beschrieben werden. Ein Beispiel ist im Dokument 1 offenbart, das ein CRL-Format (eine Datenstruktur) beschreibt, das durch den von ISO/IEC/ITU festgelegten Standard X.509 definiert ist.
  • Dokument 2 und Dokument 3 offenbaren Verfahren zum linearen Ausdrücken einer Baumstruktur in einem Baumstrukturdaten-Speicherverfahren, die als ein Datenformat zum Speichern zahlreicher Public-Key-Zertifikatskennungen verwendet wird, die zu widerrufen sind. In diesen Verfahren wird die Baumstruktur linear ausgedrückt, indem die Knoten in der Baumstruktur nach bestimmten Regeln angeordnet werden. Zum Beispiel wird ein Verfahren zum Anordnen der Knoten in Schichten-Reihenfolge im Dokument 3, S. 136 beschrieben. Gemäß diesem Verfahren werden Schichten, (die Schichten in der Baumstruktur entsprechen), in aufsteigender Reihenfolge angeordnet, und in jeder Schicht werden die Knoten von links nach rechts angeordnet.
  • Das Anordnen der Knoten auf Basis spezifischer Regeln ermöglicht, dass die Baumstruktur in der Vorrichtung aus den linear angeordneten Informationen konstruiert werden kann.
  • <Dokument 1>
    • W. Ford und M. Baum, Digitaru Shomei to Ango Gijutsu (Digital Signatures and Encryption Techniques), Übs. S. Yamada, Pearson Education Japan, 2001.
  • <Dokument 2>
    • G. Salton, Manipulation of Trees in Information Retrieval, Communication of the ACM 5, 1962.
  • <Dokument 3>
    • Knuth, "Kihon Sanhou/Jouhou Kouzou (Basic Algorithms/Information Structure)", Übs. Yoneda & Kakehi, Saiensu-sha, 1978.
  • Vor dem Authentifizieren einer Gegenvorrichtung unter Verwendung des öffentlichen Schlüssels der Gegenvorrichtung, wie oben beschrieben, erlangt eine Vorrichtung die CRL, speichert die erlangte CRL in einem internen Speicher, bestätigt, ob die Kennung des öffentlichen Schlüssels der Gegenvorrichtung sich in der gespeicherten CRL befindet und führt die Authentifizierung durch, wenn die Erkennung des Public-Key-Zertifikats nicht enthalten ist. Aus diesem Grund ist es für die Vorrichtung notwendig, zum Speichern der CRL über ausreichend Speicherkapazität zu vertilgen.
  • Eine herkömmliche CRL enthält jedoch die Kennungen aller widerrufenen Public-Key-Zertifikate und ist daher größenmäßig proportional zur Anzahl von widerrufenen Public-Key-Zertifikaten. Wenn sich demzufolge die Anzahl von widerrufenen Public-Key-Zertifikaten erhöht, erhöht sich auch die Größe der CRL.
  • Aus diesem Grund ergibt sich ein Problem daraus, dass es unrealistisch ist, die maximale Größe der CRL zu schätzen und in der Vorrichtung ausreichende Speicherkapazität zum Speichern der CRL bereitzustellen.
  • Zum Beispiel angenommen, die Gesamtanzahl von Public-Key-Zertifikaten in dem gesamten System beträgt 230 (ungefähr eine Milliarde), 0,01%, also 100.000 der Zertifikate werden widerrufen, und die Größe jeder Kennung beträgt 30 Bits. In einer herkömmlichen CRL, die alle Kennungen enthält, beträgt die Größe der CRL 30 Bits·100.000 = ungefähr 375 kB. Demzufolge müssen ungefähr 375 kB Speicher in der Vorrichtung zum Speichern der CRL bereitgestellt werden. Wenn jedoch 0,02% der Zertifikate, also 200.000 widerrufen werden, beträgt die Größe der CRL 30 Bits·200.000 = ungefähr 750 kB, und 750 kB Speicher müssen in der Vorrichtung bereitgestellt werden. Wenn sich die Anzahl von widerrufenen Zertifikaten weiter erhöht, muss sogar noch mehr Speicherkapazität bereitgestellt werden.
  • EP-A-0 932 109 offenbart einen Speicher, der einen Authentifizierungssuchbaum enthält, der zum Authentifizieren der Zugehörigkeit oder Nicht-Zugehörigkeit von Elementen in sehr großen Gruppen dient. Des Weiteren wird ein Verfahren zum Aktualisieren von Elementen in einem Authentifizierungssuchbaum bereitgestellt. Das Verfahren basiert auf einer Datenstruktur, die so eingerichtet ist, dass sie Zertifikate und ihren Widerruf-Status in einer Platz sparenden Weise speichert, und auf der Bereitstellung eines Suchalgorithmus zum Ermitteln gültiger Zertifikate. Der für Zertifikate gewählte Gültigkeitszeitraum bestimmt die Anzahl der zu speichernden Zertifikate. Im Fall von bevorzugten langen Ablaufzeiten beispielsweise kann die Liste von widerrufenen Zertifikaten lang werden, wodurch hohe Kommunikationskosten, Schwierigkeiten beim Verwalten der Liste und bei der Suchverarbeitung der Liste verursacht werden. Um im Fall einer hohen Zertifikatsanzahl einen kurzen Nachweis zu erhalten, dass ein Zertifikat nicht widerrufen worden ist, enthält der Authentifizierungssuchbaum einen Suchbaum mit Knoten und Blättern und ist mit einem Suchschema verknüpft, das darauf basiert, Knoten zu kennzeichnen, in denen alle untergeordneten Blätter des untergeordneten Baums widerrufen worden sind. Die Knoten sind mit einem kryptografischen Hash-Funktionswert verknüpft, der durch Anwenden einer kryptografischen Hash-Funktion auf die kryptografischen Hash-Werte der abgeleiteten Knoten und den dynamischen Suchwert des Knotens erzeugt wird. Der Wurzelknoten des authentifizierten Suchbaums wird durch eine digitale Signatur authentifiziert.
  • OFFENBARUNG DER ERFINDUNG
  • Um die oben beschriebenen Probleme zu lösen, ist es die Aufgabe der vorliegenden Erfindung, ein Authentifizierungssystem, eine Widerruflisten-Erzeugungsvorrichtung und eine Widerruflisten-Feststellvorrichtung, dazugehörige Verfahren und Programme und ein computerlesbares Aufzeichnungsmedium bereitzustellen, wie in den unabhängigen Ansprüchen beansprucht, wobei bevorzugte Ausführungsformen in den Unteransprüchen behandelt werden.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1 ist ein Blockschaltbild der Struktur eines Schutzsystems für digitale Erzeugnisse (digital work protection system) 10;
  • 2 ist ein Blockschaltbild der Struktur einer Schlüsselverwaltungsvorrichtung 100;
  • 3 ist ein Beispiel der Datenstruktur einer Baumstrukturtabelle D100;
  • 4 ist eine konzeptionelle Darstellung einer Baumstruktur T100;
  • 5 ist eine konzeptionelle Darstellung einer Baumstruktur T200, die widerrufene Knoten enthält;
  • 6 ist eine Datenstruktur-Darstellung, die ein Beispiel von Knotenwiderrufmustern zeigt;
  • 7 ist eine Datenstruktur-Darstellung, die ein Beispiel von Schlüsselinformationen zeigt, die eine Vielzahl von verschlüsselten Medienschlüsseln enthalten;
  • 8 ist ein Blockschaltbild, das die Struktur einer Aufzeichnungsmedium-Vorrichtung 300a zeigt;
  • 9 ist ein Blockschaltbild, das die Struktur einer Wiedergabevorrichtung 400a zeigt;
  • 10 ist ein Ablaufdiagramm, das Abläufe zum Zuweisen eines Vorrichtungsschlüssels zu einer Benutzervorrichtung, Abläufe zum Erzeugen von Schlüsselinformationen und Schreiben der Schlüsselinformationen auf eine Aufzeichnungsvorrichtung, und Abläufe für die Benutzervorrichtungen zum Verschlüsseln oder Entschlüsseln von Inhalt zeigt; und insbesondere Ablaufe für jede Vorrichtung bis zu einem Punkt zeigt, an dem ein Vorrichtungsschlüssel von einer dritten Partei unrechtmäßig aufgedeckt wird;
  • 11 ist ein Ablaufdiagramm, das nach dem unrechtmäßigen Aufdecken des Vorrichtungsschlüssels durch eine dritte Partei Abläufe zum Widerrufen der Knoten in der Baumstruktur, welcher der aufgedeckte Vorrichtungsschlüssel entspricht, Abläufe zum Generieren von neuen Schlüsselinformationen und Schreiben der generierten Schlüsselinformationen auf ein Aufzeichnungsmedium, und Abläufe für die Benutzervorrichtung zum Verschlüsseln oder Entschlüsseln von Inhalt zeigt;
  • 12 ist ein Ablaufdiagramm, das Abläufe von einer Baumstruktur-Konstruktionseinheit 101 zum Generieren einer Baumstrukturtabelle und Schreiben der generierten Baumstrukturtabelle in eine Baumstruktur-Speichereinheit 102 zeigt;
  • 13 ist ein Ablaufdiagramm, das Abläufe von einer Vorrichtungsschlüssel-Zuweisungseinheit 103 zum Ausgeben von Vorrichtungsschlüsseln und Kennungsinformationen an jede Benutzervorrichtung zeigt;
  • 14 ist ein Ablaufdiagramm, das Abläufe von einer Baumstruktur-Aktualisierungseinheit 105 zum Aktualisieren der Baumstruktur zeigt;
  • 15 ist ein Ablaufdiagramm, das Abläufe von einer Generierungseinheit für Schlüsselinformationen-Header 106 zum Generieren von Header-Informationen zeigt;
  • 16 ist ein Ablaufdiagramm, das Abläufe von einer Schlüsselinformationen-Generierungseinheit 107 zum Generieren von Schlüsselinformationen zeigt;
  • 17 ist ein Ablaufdiagramm, das Abläufe von einer Spezifizierungseinheit 303 in der Aufzeichnungsvorrichtung 300a zum Bestimmen eines verschlüsselten Medienschlüssels aus Schlüsselinformationen zeigt, die in dem Aufzeichnungsmedium 500b gespeichert sind;
  • 18 zeigt ein Beispiel einer Baumstruktur in einer ersten Ausführungsform in einem Fallbeispiel, in dem die Möglichkeit besteht, dass widerrufene Benutzervorrichtungen einseitig um ein bestimmtes Blatt in der Baumstruktur auftreten;
  • 19 ist eine Baumstruktur, die ein spezielles NRP in einem Fall zeigt, in dem widerrufene Benutzervorrichtungen einseitig um ein spezifisches Blatt in der Baumstruktur in einer zweiten Ausführungsform auftreten;
  • 20 zeigt ein Beispiel der Datenstruktur einer Baumstrukturtabelle D400;
  • 21 zeigt ein Beispiel der Datenstruktur von Header-Informationen D500;
  • 22 zeigt ein Beispiel der Datenstruktur von Schlüsselinformationen D600;
  • 23 ist ein Ablaufdiagramm, das in 24 fortgesetzt wird und Abläufe von der Generierungseinheit für Schlüsselinformationen-Header 106 zum Generieren von Header-Informationen zeigt;
  • 24 ist ein Ablaufdiagramm, das in 25 fortgesetzt wird und Abläufe von der Generierungseinheit für Schlüsselinformationen-Header 106 zum Generieren von Header-Informationen zeigt;
  • 25 ist ein Ablaufdiagramm, das in 26 fortgesetzt wird und Abläufe von der Generierungseinheit für Schlüsselinformationen-Header 106 zum Generieren von Header-Informationen zeigt;
  • 26 ist ein Ablaufdiagramm, das von 25 fortgesetzt wird und Abläufe von der Generierungseinheit für Schlüsselinformationen-Header 106 zum Generieren von Header-Informationen zeigt;
  • 27 ist ein Ablaufdiagramm, das Abläufe von der Spezifizierungseinheit 303 in der Aufzeichnungsvorrichtung 300a zum Bestimmen eines verschlüsselten Medienschlüssels aus Schlüsselinformationen zeigt, die in dem Aufzeichnungsmedium 500b gespeichert sind;
  • 28 ist eine Baumstruktur, die ein spezielles NRP in einer dritten Ausführungsform zeigt;
  • 29 zeigt ein Beispiel der Datenstruktur von Header-Informationen D700;
  • 30 zeigt ein Beispiel der Datenstruktur von Schlüsselinformationen D800;
  • 31 ist ein in 32 fortgesetztes Ablaufdiagramm von Abläufen zum Generieren von Header-Informationen;
  • 32 ist ein in 33 fortgesetztes Ablaufdiagramm von Abläufen zum Generieren von Header-Informationen;
  • 33 ist ein in 34 fortgesetztes Ablaufdiagramm von Abläufen zum Generieren von Header-Informationen;
  • 34 ist ein von 33 fortgesetztes Ablaufdiagramm von Abläufen zum Generieren von Header-Informationen;
  • 35 ist ein Ablaufdiagramm, das Abläufe von der Spezifizierungseinheit 303 in der Aufzeichnungsvorrichtung 300a zum Bestimmen eines verschlüsselten Medienschlüssels aus Schlüsselinformationen zeigt, die in dem Aufzeichnungsmedium 500b gespeichert sind;
  • 36 ist eine Baumstruktur, die zeigt, wie eine Vielzahl von NRPs in einer vierten Ausführungsform angeordnet sind;
  • 37 zeigt ein Beispiel der Datenstruktur einer Baumstrukturtabelle D1000;
  • 38 zeigt ein Beispiel der Datenstruktur von Header-Informationen D900;
  • 39 ist ein Ablaufdiagramm, das Abläufe von der Baumstruktur-Konstruktionseinheit 101 zum Generieren einer Baumstrukturtabelle und Schreiben der generierten Baumstrukturtabelle in die Baumstruktur-Speichereinheit 102 zeigt;
  • 40 ist ein in 41 fortgesetztes Ablaufdiagramm, das Abläufe von der Generierungseinheit für Schlüsselinformationen-Header 106 zum Generieren von Header-Informationen zeigt;
  • 41 ist ein von 41 fortgesetztes Ablaufdiagramm, das Abläufe von der Generierungseinheit für Schlüsselinformationen-Header 106 zum Generieren von Header-Informationen zeigt;
  • 42 ist ein Ablaufdiagramm, das Abläufe von der Spezifizierungseinheit 303 in der Aufzeichnungsvorrichtung 300a zum Bestimmen eines verschlüsselten Medienschlüssels aus Schlüsselinformationen zeigt, die in dem Aufzeichnungsmedium 500b gespeichert sind;
  • 43 ist ein in 44 fortgesetztes Ablaufdiagramm, das Abläufe von der Generierungseinheit für Schlüsselinformationen-Header 106 zum Generieren von Header-Informationen zeigt;
  • 44 ist ein in 45 fortgesetztes Ablaufdiagramm, das Abläufe von der Generierungseinheit für Schlüsselinformationen-Header 106 zum Generieren von Header-Informationen zeigt;
  • 45 ist ein in 46 fortgesetztes Ablaufdiagramm, das Abläufe von der Generierungseinheit für Schlüsselinformationen-Header 106 zum Generieren von Header-Informationen zeigt;
  • 46 ist ein von 45 fortgesetztes Ablaufdiagramm, das Abläufe von der Generierungseinheit für Schlüsselinformationen-Header 106 zum Generieren von Header-Informationen zeigt;
  • 47 ist ein Ablaufdiagramm, das Abläufe von der Spezifizierungseinheit 303 in der Aufzeichnungsvorrichtung 300a zum Bestimmen eines verschlüsselten Medienschlüssels aus Schlüsselinformationen zeigt, die in dem Aufzeichnungsmedium 500b gespeichert sind;
  • 48 ist ein Blockschaltbild, das die Struktur eines Schutzsystems für digitale Erzeugnisse 10f zeigt;
  • 49 ist eine konzeptionelle Darstellung einer Baumstruktur T700, die Knoten enthält, denen widerrufene Vorrichtungsschlüssel KeyA, KeyB und KeyE zugewiesen sind;
  • 50 ist eine schematische Datenstruktur-Darstellung, die Header-Informationen D1000 und Schlüsselinformationen D1010 zeigt;
  • 51 ist ein Ablaufdiagramm, das Abläufe von der Spezifizierungseinheit 303 der Aufzeichnungsvorrichtung 300a zum Spezifizieren eines verschlüsselten Medienschlüssels zeigt;
  • 52 ist ein Blockschaltbild, das die Struktur eines Authentifizierungssystems 1000 zeigt;
  • 53 ist ein Blockschaltbild, das die Struktur einer Herstellungsvorrichtung 1200 zeigt;
  • 54 ist ein Blockschaltbild, das die Struktur einer Zertifikatsbehörden-Vorrichtung 1100 zeigt;
  • 55 ist eine Datenstrukturzeichnung, die ein Beispiel einer CRL zeigt;
  • 56 ist eine Blockschaltbildzeichnung, welche die Struktur einer Aufzeichnungsvorrichtung für digitale Erzeugnisse 1400 zeigt;
  • 57 ist ein Blockschaltbild, das die Struktur einer Computereinheit 1900 zeigt;
  • 58 ist ein Blockschaltbild, das die Struktur einer Treibereinheit 1600 zeigt;
  • 59 ist ein Ablaufdiagramm, das Abläufe der Herstellungsvorrichtung 1200 und einer Herstellungsvorrichtung 1300 zeigt;
  • 60 ist ein Ablaufdiagramm, das Abläufe von der Zertifikatsbehörden-Vorrichtung 1100 zum Ausgeben eines Public-Key-Zertifikats zeigt;
  • 61 ist ein Ablaufdiagramm, das Abläufe von der Zertifikatsbehörde-Vorrichtung 1100 zum Ausgeben einer CRL zeigt;
  • 62 ist ein Ablaufdiagramm, das Abläufe von der Computereinheit 1900 und der Treibereinheit 1600 zeigt und in 63 fortgesetzt wird; und
  • 63 ist ein Ablaufdiagramm, das Abläufe von der Computereinheit 1900 und der Treibereinheit 1600 zeigt und von 63 fortgesetzt wird.
  • BESTER AUSFÜHRUNGSMODUS DER ERFINDUNG
  • 1. Erste Ausführungsform
  • Im Folgenden wird ein Schutzsystem für digitale Erzeugnisse 10 als eine erste Ausführungsform der vorliegenden Erfindung beschrieben.
  • 1.1 Struktur des Schutzsystems für digitale Erzeugnisse 10
  • Das Schutzsystem für digitale Erzeugnisse 10, wie in 1 gezeigt, besteht aus einer Schlüsselverwaltungsvorrichtung 100, einer Schlüsselinformationen-Aufzeichnungsvorrichtung 200, Aufzeichnungsvorrichtungen 300a, 300b, 300c, ... (hierin im Folgenden als "Aufzeichnungsvorrichtungen 300a usw.") bezeichnet), und Wiedergabevorrichtungen 400a, 400b, 400c, ... (hierin im Folgenden als "Wiedergabevorrichtungen 400a usw.") bezeichnet).
  • Die Schlüsselverwaltungsvorrichtung weist Schlüsselinformationen auf, die von der Schlüsselinformationen-Aufzeichnungsvorrichtung 200 auf einem Aufzeichnungsmedium 500a vorab aufgezeichnet worden sind, was ein Aufzeichnungsmedium 500b zur Folge hat, auf dem die Schlüsselinformationen aufgezeichnet sind, die vorab generiert worden sind. Es ist anzumerken, dass das Aufzeichnungsmedium 500a ein beschreibbares Medium ist, wie beispielsweise ein DVD-RAM (Digital Versatile Disk Random Access Memory), auf dem keine Informationen aufgezeichnet sind. Ferner weist die Schlüsselverwaltungsvorrichtung 100 Vorrichtungsschlüssel zum Entschlüsseln von Schlüsselinformationen jeweils zu jeder Aufzeichnungsvorrichtung 300a usw. und jeder Wiedergabevorrichtung 400a usw. zu und verteilt vorab die zugewiesenen Vorrichtungsschlüssel, Vorrichtungsschlüssel-Identifizierungsinformationen, welche die Vorrichtungsschlüssel identifizieren, und Kennungsinformationen, welche die spezielle Aufzeichnungsvorrichtung oder Wiedergabevorrichtung identifizieren, zu jeder der Aufzeichnungsvorrichtungen 300a usw. und Wiedergabevorrichtungen 400a usw. zu.
  • Die Aufzeichnungsvorrichtung 300a verschlüsselt digitalisierten Inhalt, um verschlüsselten Inhalt zu generieren, und zeichnet den generierten verschlüsselten Inhalt auf dem Aufzeichnungsmedium 500b auf, was zur Folge hat, dass ein Aufzeichnungsmedium 500c generiert wird. Die Wiedergabevorrichtung 400a liest den verschlüsselten Inhalt aus dem Aufzeichnungsmedium 550c und entschlüsselt den gelesenen verschlüsselten Inhalt, um den ursprünglichen Inhalt zu erlangen. Die Aufzeichnungsvorrichtungen 300b usw. arbeiten in einer zu der Aufzeichnungsvorrichtung 300a identischen Weise, und die Wiedergabevorrichtungen 400b usw. arbeiten in einer zu der Wiedergabevorrichtung 400a identischen Weise.
  • Es ist anzumerken, dass hierin im Folgenden "Benutzervorrichtung" verwendet wird, um die Aufzeichnungsvorrichtungen 300b usw. und die Wiedergabevorrichtungen 400b usw. zu bezeichnen.
  • 1.1.1 Schlüsselverwaltungsvorrichtung 100
  • Die Schlüsselverwaltungsvorrichtung 100, wie in 2 gezeigt, besteht aus einer Baumstruktur-Konstruktionseinheit 101, einer Baumstruktur-Speichereinheit 102, einer Vorrichtungsweisungseinheit 103, einer Einheit zum Bezeichnen von widerrufenen Vorrichtungen 104, einer Schlüsselstruktur-Aktualisierungseinheit 105, einer Generierungseinheit für Schlüsselinformationen-Header 106 und einer Schlüsselinformationen-Generierungseinheit 107.
  • Insbesondere ist die Schlüsselverwaltungsvorrichtung 100 ein Computersystem, das einen Mikroprozessor, einen ROM (Read Only Memory/Festspeicher), einen RAM (Random Access Memory/Direktzugriffsspeicher), eine Festplatteneinheit, eine Anzeigeeinheit, eine Tastatur und eine Maus umfasst. Im RAM oder auf der Festplatteneinheit sind Computerprogramme gespeichert. Die Schlüsselverwaltungsvorrichtung 100 erfüllt ihre Funktionen über den Mikroprozessor, der in Übereinstimmung mit den Computerprogrammen arbeitet.
  • (1) Baumstruktur-Speichereinheit 102
  • Insbesondere besteht die Baumstruktur-Speichereinheit 102 aus einer Festplatteneinheit und weist, wie in 3 gezeigt, eine Baumstrukturtabelle D100 auf.
  • Die Baumstrukturtabelle D100 entspricht einer Baumstruktur T100, die in 4 als ein Beispiel für eine Baumstruktur gezeigt ist, und zeigt eine Datenstruktur zum Ausdrücken der Baumstruktur T100. Wie später beschrieben wird, wird die Datenstruktur zum Ausdrücken der Baumstruktur T100 von der Baumstruktur-Konstruktionseinheit 101 als die Baumstrukturtabelle D100 generiert und in der Baumstruktur-Speichereinheit 102 gespeichert.
  • <Baumstruktur T100>
  • Die Baumstruktur T100, wie in 4 gezeigt, ist ein binärer Baum mit fünf Schichten: Schicht 0 bis Schicht 4. Da die Baumstruktur T100 ein binärer Baum ist, ist jeder Knoten (mit Ausnahme der Blätter) in der Baumstruktur T100 mit zwei Knoten auf der niedrigeren Seite des Knotens über zwei Kanten verbunden. Ein Knoten, welcher die Wurzel (root) ist, ist in Schicht 0 enthalten, zwei Knoten sind in Schicht 1 enthalten, vier Knoten sind in Schicht 3 enthalten, acht Knoten sind in Schicht 3 enthalten und 16 Knoten, die Blätter sind, sind in Schicht 4 enthalten. Es ist anzumerken, dass sich "niedrigere Seite" auf die Blatt-Seite der Baumstruktur bezieht, wogegen "höhere Seite" sich auf die Wurzel-Seite der Baumstruktur bezieht.
  • Zu jeder der zwei Kanten, die einen Knoten (mit Ausnahme der Blätter) in der Baumstruktur T100 mit seinem direkt untergeordneten Knoten verbinden, wird eine Zahl zugewiesen, wobei der linken Kante "0" zugewiesen wird, und der rechten Kanten "1" zugewiesen wird. Hier wird in 4 eine Kante, die sich zur linken Seite des Knotens nach unten verzweigt, um linke Knoten zu verbinden, als eine linke Kante bezeichnet. Eine Kante, die sich zur rechten Seite eines Knotens nach unten verzweigt, um rechte Knoten zu verbinden, wird als rechte Kante bezeichnet.
  • Jedem Knoten wird eine Knotenbezeichnung zugewiesen. Die Bezeichnung des Wurzelknotens ist "root". Jeder der Knoten in den Schichten ab Schicht 1 nach unten erhält eine Zeichenfolge als eine Knotenbezeichnung. Die Zeichenzahl in der Zeichenfolge entspricht der Nummer der Schicht und wird durch Anordnen der Zahlen, die jedem Knoten an der gleichen Kante wie der Knoten ab der Wurzel bis zu dem Knoten in dieser Reihenfolge zugewiesen sind, generiert. Zum Beispiel lauten die Knotenbezeichnungen der zwei Knoten in Schicht 1 jeweils "0" und "1". Die Knotenbezeichnungen der vier Knoten in Schicht 2 lauten jeweils "00", "01", "10" und "11". Die Knotenbezeichnungen der acht Knoten in Schicht 3 lauten jeweils "000", "001", "010" und "011", ..., "101", "110" und "111". Die Knotenbezeichnungen der sechzehn Knoten in Schicht 4 lauten jeweils "0000", "0001", "0010" und "0011", ..., "1100", "1101" und "1110" und "1111".
  • <Baumstruktur-Tabelle D10D>
  • Die Baumstrukturtabelle D100 enthält Knoteninformationen-Elemente, deren Anzahl den Knoten in der Baumstruktur T100 entspricht. Jedes Knoteninformationen-Element entspricht einem der Knoten in der Baumstruktur T100.
  • Jedes Knoteninformationen-Element enthält einen Vorrichtungsschlüssel und ein Widerruf-Flag.
  • Jede Knotenbezeichnung identifiziert den Knoten, dem ein bestimmtes Knoteninformationen-Element entspricht.
  • Jeder Vorrichtungsschlüssel ist einem Knoten zugewiesen, der einem Knoteninformationen-Element entspricht.
  • Zusätzlich zeigt jedes Widerruf-Flag, ob der Vorrichtungsschlüssel, der dem Knoteninformationen-Element entspricht, widerrufen worden ist oder nicht. Ein auf "0" gesetztes Widerruf-Flag zeigt, dass ein Vorrichtungsschlüssel nicht widerrufen worden ist, während ein auf "1" gesetztes Widerruf-Flag zeigt, dass ein Vorrichtungsschlüssel widerrufen worden ist.
  • Jedes Knoteninformationen-Element wird in der Baumstrukturtabelle D100 in einer Reihenfolge gespeichert, die von der folgenden Reihenfolgeregel 1 gezeigt wird. Die Reihenfolgeregel 1 wird auch angewendet, wenn die Aufzeichnungsvorrichtungen 300a usw. und die Wiedergabe-Vorrichtungen 400a usw. Knoteninformationen der Reihe nach aus der Baumstrukturtabelle D100 lesen.
    • (a) Knoteninformationen, die den Knoten in jeder Schicht entsprechen, werden in der Baumstrukturtabelle D100 in aufsteigender Reihenfolge der Schichtnummern gespeichert. Insbesondere wird zuerst ein Knoteninformationen-Element, das dem einer Wurzel in Schicht 0 entspricht, gespeichert, dann werden zwei Knoteninformationen-Elemente, die den zwei Knoten in Schicht 1 entsprechen, gespeichert, gefolgt von vier Knoteninformationen-Elementen, die den vier Knoten in Schicht 2 entsprechen und so weiter in der gleichen Weise.
    • (b) Innerhalb jeder Schicht werden die Knoteninformationen-Elemente, die jedem Knoten in der Schicht entsprechen, in aufsteigender Knotenbezeichnungs-Reihenfolge gespeichert.
  • Insbesondere werden die Knoteninformationen-Elemente in der folgenden Reihenfolge in der in 3 gezeigten Baumstrukturtabelle D100 gespeichert:
    "root", "0", "1", "00", "01", "10", "11", "000", "001", "010", "011", ..., "101", "110", "111 ", "0000", "0001", "0010", "0011", ..., "1100", "1101", "1110", "1111".
  • Hier wird die Reihenfolge, in der die Knoteninformationen-Elemente gespeichert sind, durch die Knotenbezeichnung gezeigt, die in jedem Knoteninformationen-Element enthalten ist.
  • (2) Baumstruktur-Konstruktionseinheit 101
  • Die Baumstruktur-Konstruktionseinheit 101, wie im Folgenden beschrieben, konstruiert eine n-näre Datenstruktur zum Verwalten von Vorrichtungsschlüsseln und speichert die konstruierte Baumstruktur in der Baumstruktur-Speichereinheit 102. Hier ist n eine ganze Zahl, die gleich oder größer als 2 ist. Zum Beispiel ist n = 2.
  • Die Baumstruktur-Konstruktionseinheit 101 generiert zuerst ein Knoteninformationen-Element mit "root" als der Knotenbezeichnung und schreibt das generierte Knoteninformationen-Element in die Baumstrukturtabelle in der Baumstruktur-Speichereinheit 102.
  • Als Nächstes generiert die Baumstruktur-Konstruktionseinheit 101 die Knotenbezeichnungen "0" und "1", welche die zwei Knoten in Schicht 1 identifizieren, generiert zwei Knoteninformationen-Elemente, die jeweils die generierten Knotenbezeichnungen "0" und "1" enthalten, und schreibt die zwei generierten Knoteninformationen-Elemente in der angegebenen Reihenfolge in die Baumstrukturtabelle in der Baumstruktur-Speichereinheit 102.
  • Als Nächstes generiert die Baumstruktur-Konstruktionseinheit 101 vier Knotenbezeichnungen "00", "01", "10" und "11", welche die vier Knoten in Schicht 2 identifizieren, generiert vier Knoteninformationen-Elemente, die jeweils "00", "01", "10" und "11" enthalten, und fügt die vier generierten Knoteninformationen-Elemente zu der Baumstrukturtabelle in der angegebenen Reihenfolge hinzu.
  • Danach generiert die Baumstruktur-Konstruktionseinheit 101 Knoteninformationen für Schicht 3 und Schicht 4 in der angegebenen Reihenfolge und schreibt die generierten Knoteninformationen in der gleichen Weise, wie vorher beschrieben, in die Baumstrukturtabelle.
  • Als Nächstes generiert die Baumstruktur-Konstruktionseinheit 101 unter Verwendung einer Zufallszahl einen Vorrichtungsschlüssel für jeden Knoten in der Baumstruktur und schreibt die generierten Vorrichtungsschlüssel in Entsprechung zu den jeweiligen Knoten in die Baumstruktur.
  • (3) Vorrichtungsschlüssel-Zuweisungseinheit 103
  • Die Vorrichtungsschlüssel-Zuweisungseinheit 103, wie im Folgenden beschrieben, wählt einen Vorrichtungsschlüssel entsprechend einem Blatt, zu dem noch keine Benutzervorrichtung zugewiesen ist, und einer Benutzervorrichtung, zu der ein Vorrichtungsschlüssel zugewiesen werden soll, aus und gibt den ausgewählten Vorrichtungsschlüssel an die Benutzervorrichtung aus.
  • Die Vorrichtungsschlüssel-Zuweisungseinheit 103 weist eine Variablen-Kennung auf, deren Länge 4 Bits beträgt.
  • Die Vorrichtungsschlüssel-Zuweisungseinheit 103 führt die im Folgenden beschriebene Verarbeitung (a) bis (f) sechzehnmal durch. Jedes Mal weist die Variablen-Kennung einen der Werte "0000", "0001", "0010", ..., "1110" und "1111" auf. Mit der sechzehnmaligen Durchführung der Verarbeitung weist die Vorrichtungsschlüssel-Zuweisungseinheit 103 Kennungsinformationen und fünf Vorrichtungsschlüssel zu jeder der 16 Benutzervorrichtungen zu.
    • (a) Die Vorrichtungsschlüssel-Zuweisungseinheit 103 erlangt das Knoteninformationen-Element, das die Knotenbezeichnung "root" enthält, aus der Baumstrukturtabelle in der Baumstruktur-Speichereinheit 102 und extrahiert den Vorrichtungsschlüssel aus den erlangten Knoteninformationen. Der extrahierte Vorrichtungsschlüssel ist der Vorrichtungsschlüssel, welcher der Wurzel zugewiesen ist.
    • (b) Die Vorrichtungsschlüssel-Zuweisungseinheit 103 erlangt das Knoteninformationen-Element, das die Knotenbezeichnung enthält, die das Kopf-Bit der Variablen-Kennung ist, aus der Baumstrukturtabelle in der Baumstruktur-Speichereinheit 102 und extrahiert den Vorrichtungsschlüssel aus den erlangten Knoteninformationen. Hierin wird dieser Vorrichtungsschlüssel im Folgenden als Vorrichtungsschlüssel A bezeichnet.
    • (c) Die Vorrichtungsschlüssel-Zuweisungseinheit 102 erlangt das Knoteninformationen-Element, das die Knotenbezeichnung enthält, welche die zwei Kopf-Bits der Variablen-Kennung sind, aus der Baumstrukturtabelle in der Baumstruktur-Speichereinheit 102 und extrahiert den Vorrichtungsschlüssel aus den erlangten Knoteninformationen. Hierin wird dieser Vorrichtungsschlüssel im Folgenden als Vorrichtungsschlüssel B bezeichnet.
    • (d) Die Vorrichtungsschlüssel-Zuweisungseinheit 103 erlangt das Knoteninformationen-Element, das die Knotenbezeichnung enthält, welche die drei Kopf-Bits der Variablen-Kennung sind, aus der Baumstrukturtabelle in der Baumstruktur-Speichereinheit 102 und extrahiert den Vorrichtungsschlüssel aus den erlangten Knoteninformationen. Hierin wird dieser Vorrichtungsschlüssel im Folgenden als Vorrichtungsschlüssel C bezeichnet.
    • (e) Die Vorrichtungsschlüssel-Zuweisungseinheit 103 erlangt das Knoteninformationen-Element, das die Knotenbezeichnung enthält, welche die vier Bits der Variablen-Kennung sind, aus der Baumstrukturtabelle in der Baumstruktur-Speichereinheit 102 und extrahiert den Vorrichtungsschlüssel aus den erlangten Knoteninformationen. Hierin wird dieser Vorrichtungsschlüssel im Folgenden als Vorrichtungsschlüssel D bezeichnet.
    • (f) Die Vorrichtungsschlüssel-Zuweisungseinheit 103 schreibt Kennungsinformationen, den der Wurzel zugewiesenen Vorrichtungsschlüssel, die jedem Knoten zugewiesenen Vorrichtungsschlüssel A, B, C und D und fünf Elemente von Vorrichtungsschlüssel-Identifizierungsinformationen in eine Schlüsselinformationen-Speichereinheit in der Benutzervorrichtung. Es ist anzumerken, dass die Kennungsinformationen der Variablen-Kennung entsprechen, und dass die fünf Elemente von Vorrichtungsschlüssel-Identifizierungsinformationen die fünf Vorrichtungsschlüssel identifizieren.
  • Auf diese Weise speichert die Schlüsselinformationen-Speichereinheit in jeder Benutzervorrichtung Kennungsinformationen, fünf Elemente von Vorrichtungsschlüssel-Identifizierungsinformationen und fünf Vorrichtungsschlüssel, wie in einem Beispiel in 8 gezeigt. Hier werden die fünf Elemente von Vorrichtungsschlüssel-Identifizierungsinformationen und die fünf Vorrichtungsschlüssel in Entsprechung gespeichert. Jedes Element von Vorrichtungsschlüssel-Identifizierungsinformationen ist die Nummer der Schicht (Schichtnummer), zu welcher der entsprechende Vorrichtungsschlüssel zugewiesen ist.
  • Auf diese Weise werden Kennungsinformationen und fünf Vorrichtungsschlüssel zu jeder der sechzehn Benutzervorrichtungen zugewiesen.
  • Als Beispiel ist die in 4 gezeigte Baumstruktur T100, wie sie oben beschrieben wurde, ein binärer Baum mit fünf Schichten und enthält sechzehn Blätter. Hier wird angenommen, dass sechzehn Benutzervorrichtungen vorhanden sind, von denen jede einem der Blätter entspricht. Jede Benutzervorrichtung ist mit den Vorrichtungsschlüsseln versehen, die den Knoten an der Kante von dem entsprechenden Blatt bis zu der Wurzel zugewiesen sind. Zum Beispiel ist eine Benutzervorrichtung 1 mit fünf Vorrichtungsschlüsseln IK1, KeyH, KeyD, KeyB und KeyA versehen. Die Benutzervorrichtung 1 ist des Weiteren zum Beispiel mit den Kennungsinformationen "0000" versehen, und die Benutzervorrichtung 14 ist mit Kennungsinformationen "1101" versehen.
  • (4) Einheit zum Bezeichnen von widerrufenen Vorrichtungen 104
  • Die Einheit zum Bezeichnen von widerrufenen Vorrichtungen 104 empfängt wenigstens ein Element von Kennungsinformationen, das wenigstens eine Benutzervorrichtung identifiziert, die widerrufen werden soll, von dem Verwalter (manager) der Schlüsselverwaltungsvorrichtung 100 und gibt die empfangenen Kennungsinformationen an die Schlüsselstruktur-Aktualisierungseinheit 105 aus.
  • (5) Schlüsselstruktur-Aktualisierungseinheit 105
  • Die Schlüsselstruktur-Aktualisierungseinheit 105 empfängt wenigstens ein Element von Kennungsinformationen von der Einheit zum Bezeichnen von widerrufenen Vorrichtun gen 104 und führt beim Empfangen der Kennungsinformationen die folgende Verarbeitung (a) bis (d) für jedes des wenigstens einen Elements von Kennungsinformationen durch.
    • (a) Die Schlüsselstruktur-Aktualisierungseinheit 105 erlangt das Knoteninformationen-Element, das die empfangenen Kennungsinformationen als die Knotenbezeichnung enthält, aus der Baumstrukturtabelle in der Baumstruktur-Speichereinheit 102, hängt ein Widerruf-F1ag "1" an die erlangten Knoteninformationen an und schreibt die Knoteninformationen, an die das Widerruf-Flag "1" angehängt worden ist, in die Position in der Baumstrukturtabelle, an der die erlangten Knoteninformationen gespeichert sind, wodurch das ursprüngliche Knoteninformationen-Element mit den Knoteninformationen überschrieben wird, an welches das Widerruf-Flag angehängt worden ist.
    • (b) Die Schlüsselstruktur-Aktualisierungseinheit 105 erlangt das Knoteninformationen-Element, das als die Knotenbezeichnung die drei Kopf-Bits der empfangenen Kennungsinformationen enthält, aus der Baumstrukturtabelle in der Baumstruktur-Speichereinheit 102, hängt ein Widerruf-Flag "1" an das erlangte Knoteninformationen-Element an und überschreibt das ursprüngliche Knoteninformationen-Element in der Baumstrukturtabelle in der gleichen Weise, wie vorher beschrieben.
    • (c) Die Schlüsselstruktur-Aktualisierungseinheit 105 erlangt das Knoteninformationen-Element, das als die Knotenbezeichnung die zwei Kopf-Bits der empfangenen Kennungsinformationen enthält, aus der Baumstrukturtabelle in der Baumstruktur-Speichereinheit 102, hängt ein Widerruf-Flag "1" an das erlangte Knoteninformationen-Element an und überschreibt das ursprüngliche Knoteninformationen-Element in der Baumstrukturtabelle in der gleichen Weise, wie vorher beschrieben.
    • (d) Die Schlüsselstruktur-Aktualisierungseinheit 105 erlangt das Knoteninformationen-Element, das als die Knotenbezeichnung "root" enthält, aus der Baumstrukturtabelle in der Baumstruktur-Speichereinheit 102, hängt ein Widerruf-Flag "1" an das erlangte Knoteninformationen-Element an und überschreibt das ursprüngliche Knoteninformationen-Element in der Baumstrukturtabelle in der gleichen Weise, wie vorher beschrieben.
  • Wie beschrieben worden ist, widerruft die Schlüsselstruktur-Aktualisierungseinheit 105 auf Basis der von der Einheit zum Bezeichnen von widerrufenen Vorrichtungen 104 empfangenen Kennungsinformationen alle Knoten an der Kante von dem Blatt, das durch die empfangenen Informationen angegeben worden ist, bis zu der Wurzel in der Baumstruktur.
  • Angenommen, dass die Benutzervorrichtungen, die von den Kennungsinformationen "0000", "1010" und "1011" in der in 4 gezeigten Baumstruktur T100 angegeben werden, widerrufen werden sollen, ist die sich daraus ergebende Baumstruktur T200, in welcher Knoten auf die oben beschriebene Weise widerrufen worden sind, diejenige, die in 5 gezeigt ist.
  • Weiterhin weist Baumstrukturtabelle D100 Widerruf-Flags auf, die der Baumstruktur T200 entsprechen.
  • In der Baumstruktur T200 sind alle Knoten an der Kante zu der Wurzel von dem Blatt, das der durch die Kennungsinformationen "0000" gezeigten Benutzervorrichtung 1 entspricht, alle Knoten an der Kante zu der Wurzel von dem Blatt, das der durch die Kennungsinformationen "1010" gezeigten Benutzervorrichtung 11 entspricht, und alle Knoten an der Kante zu der Wurzel von dem Blatt, das der durch die Kennungsinformationen "1011" gezeigten Benutzervorrichtung 12 entspricht, mit einem Kreuz (x) gekennzeichnet. Jedes Kreuz gibt einen widerrufenen Knoten an. Jedes Knoteninformationen-Element in der Baumstrukturtabelle D100, das einem der widerrufenen Knoten entspricht, weist ein angehängtes Widerruf-Flag auf.
  • (6) Generierungseinheit für Schlüsselinformationen-Header 106
  • Die Generierungseinheit für Schlüsselinformationen-Header 106 weist eine Variable i, die eine Nummer einer Schicht angibt, und eine Variable j auf, welche die Knotenbezeichnung in der Schicht angibt.
  • Die Generierungseinheit für Schlüsselinformationen-Header 106 führt eine im Folgenden beschriebene Verarbeitung (a) für jede Schicht in der Baumstruktur durch. Jedes Mal, wenn die Generierungseinheit für Schlüsselinformationen-Header 106" die Verarbeitung durchführt, weist die Variable i, welche die Schichtnummer angibt, den Wert "0", "1", "2" oder "3" auf.
    • (a) Die Generierungseinheit für Schlüsselinformationen-Header 106 führt die Verarbeitung (a-1) bis (a-3) für jeden Knoten in der Schicht durch, dessen Schichtnummer von der Variablen i angegeben wird. In diesem Fall wird die Bezeichnung des Knotens, der das Ziel der Verarbeitung (a-1) bis (a-3) ist, von der Variablen j angegeben.
    • (a-1) Die Generierungseinheit für Schlüsselinformationen-Header 106 erlangt aus der Baumstrukturtabelle in der Baumstruktur-Speichereinheit 102 das Knoteninformationen-Element, das eine Knotenbezeichnung enthält, die durch Zusammenführen der Variable "j" und "0" erlangt wird, und das Knoteninformationen-Element, das eine Knotenbezeichnung enthält, die durch Zusammenführen der Variablen j und "1" erlangt wird. Die zwei auf diese Weise erlangten Knoteninformationen-Elemente entsprechen den zwei Knoten, die dem durch die Variable j angegebenen Zielknoten direkt untergeordnet sind, (d.h. direkt mit diesem verbunden sind und direkt darunter liegen).
    • (a-2) Die Generierungseinheit für Schlüsselinformationen-Header 106 prüft, ob das in jedem der zwei erlangten Knoteninformationen-Elemente enthaltene Widerruf-Flag "0" ist. Wenn beide nicht "0" sind, generiert die Generierungseinheit für Schlüsselinformationen-Header 106 ein Knotenwiderrufmuster (im Folgenden "NRP"), indem die zwei jeweils in den zwei erlangten Knoteninformationen-Elementen enthaltenen Widerruf-Flags in der Reihenfolge angeordnet werden, in der die zwei Knoteninformationen-Elemente in der Baumstrukturtabelle gespeichert sind. Insbesondere, wenn die Widerruf-Flags in den zwei erlangten Knoteninformationen-Elementen jeweils "0" und "0" sind, generiert die Generierungseinheit für Schlüsselinformationen-Header 106 kein NRP. Des Weiteren, wenn die Widerruf-Flags in den zwei erlangten Knoteninformationen-Elementen jeweils "1" und "0" sind, generiert die Generierungseinheit für Schlüsselinformationen-Header 106 ein NRP {10}. Wenn die Widerruf-Flags in den zwei erlangten Knoteninformationen-Elementen jeweils "0" und "1" sind, generiert die Generierungseinheit für Schlüsselinformationen-Header 106 ein NRP {01}. Wenn die Widerruf-Flags in den zwei erlangten Knoteninformationen-Elementen jeweils "1" und "1" sind, generiert die Generierungseinheit für Schlüsselinformationen-Header 106 ein NRP {11}.
    • (a-3) Die Generierungseinheit für Schlüsselinformationen-Header 106 gibt das generierte NRP an die Schlüsselinformationen-Aufzeichnungsvorrichtung 200 aus.
  • Die Generierungseinheit für Schlüsselinformationen-Header 106 prüft in der beschriebenen Weise für jeden Knoten in der Schicht, ob die zwei direkt untergeordneten Knoten des Zielknotens widerrufen sind oder nicht, und generiert, wenn einer oder beide der zwei niedrigeren Knoten widerrufen sind, ein Widerrufmuster, wie oben beschrieben. In der in 5 gezeigten Baumstruktur T200 ist jedes generierte NRP in der Nähe des entsprechenden Knotens angegeben, der mit einem Kreuz gekennzeichnet ist.
  • Ferner, da die Generierungseinheit für Schlüsselinformationen-Header 106 NRPs in der oben beschriebenen Verarbeitung ausgibt, wird in dem in 5 gezeigten Fall eine Vielzahl von NRPs, die als Beispiel in 6 gezeigt sind, generiert und ausgegeben. Die Generierungseinheit für Schlüsselinformationen-Header 106 gibt die NRPs als Header-Informationen aus.
  • In der in 5 gezeigten Baumstruktur T200 sind die Benutzervorrichtung 1, die Benutzervorrichtung 11 und die Benutzervorrichtung 12 widerrufen. Hier werden Knoten, die an einer Kante von dem Blatt, das jeder zu widerrufenden Benutzervorrichtung entspricht, (also den Knoten, die in 5 mit einem Kreuz gekennzeichnet sind), bis zu der Wurzel liegen, als widerrufene Knoten bezeichnet. Ferner wird ein NRP erstellt, indem der Status der zwei abgeleiteten Knoten eines Knotens in der Reihenfolge von links nach rechts kombiniert wird. Hier wird "1" verwendet, um einen widerrufenen abgeleiteten Knoten auszudrücken, wogegen "0" verwendet wird, um einen abgeleiteten Knoten auszudrücken, der nicht widerrufen ist. Für einen n-nären Baum sind alle Widerrufmuster Informationen, die n Bits Länge aufweisen. Beide abgeleiteten Knoten einer Wurzel T201 in der Baumstruktur T200 sind widerrufen, daher wird das Widerrufmuster der Wurzel T201 als {11} ausgedrückt. Das Widerrufmuster eines Knotens T202 wird als {10} ausgedrückt. Ein Knoten T203 ist ein widerrufener Knoten, aber da er ein Blatt ist und daher keine abgeleiteten Knoten aufweist, hat er kein Widerrufmuster.
  • Wie als Beispiel in 6 gezeigt ist, bestehen die Header-Informationen D200 aus NRPs {11}, {10}, {10}, {10}, {01}, {10} und {11}, die in den Header-Informationen D200 in der angegebenen Reihenfolge enthalten sind.
  • Es ist anzumerken, dass die Positionen in den Header-Informationen D200, in denen die Knoteninformationenmuster angeordnet sind, gesetzt sind. Die Positionen sind gemäß der oben beschriebenen wiederholten Verarbeitung gesetzt. Wie in 6 gezeigt, sind die NRPs {11}, {10}, {10}, {10}, {01}, {10} und {11} jeweils in Positionen angeordnet, die mit "0", "1", "2", "3", "4", "5" und "6" definiert sind.
  • Wie beschrieben worden ist, extrahiert die Generierungseinheit für Schlüsselinformationen-Header 106 das NRP von wenigstens einem widerrufenen Knoten und gibt das extrahierte wenigstens eine NRP als Header-Informationen der Schlüsselinformationen an die Schlüsselinformationen-Aufzeichnungsvorrichtung 200 aus. Hier nimmt die Generierungseinheit für Schlüsselinformationen-Header 106 die Anordnung in Schicht-Reihenfolge vor. Mit anderen Worten, die Generierungseinheit für Schlüsselinformationen-Header 106 ordnet die Vielzahl von NRPs in der Reihenfolge von der obersten Schicht bis zur untersten Schicht an, und ordnet NRPs der gleichen Schicht in der Reihenfolge von links nach rechts an. Es ist anzumerken, dass es ausreicht, wenn die NRPs auf Basis irgendeiner Art von Regel angeordnet werden. Zum Beispiel können NRPs in der gleichen Schicht von rechts nach links angeordnet werden.
  • (7) Schlüsselinformationen-Generierungseinheit 107
  • Die Schlüsselinformationen-Generierungseinheit 107 weist genau wie die Generierungseinheit für Schlüsselinformationen-Header 106 eine Variable i, welche die Schichtnummer angibt, und eine Variable j auf, welche die Knotenbezeichnung in der Schicht angibt.
  • Die Schlüsselinformationen-Generierungseinheit 107 führt die folgende Verarbeitung (a) für jede Schicht, mit Ausnahme der Schicht 0, durch. Beim Durchführen der Verarbeitung (a) für jede Schicht weist die Variable i, welche die Schichtnummer angibt, den Wert "1", "2" oder "3" auf.
    • (a) Die Schlüsselinformationen-Generierungseinheit 107 führt die Verarbeitung (a-1) bis (a-3) für jeden Knoten in der Schicht durch, dessen Schichtnummer von der Variablen i angegeben wird. Hier wird die Bezeichnung des Knotens, der das Ziel der Verarbeitung (a-1) bis (a-3) ist, von der Variablen j angegeben.
    • (a-1) Die Schlüssel-Informationen-Generierungseinheit 107 erlangt aus der Baumstrukturtabelle in der Baumstruktur-Speichereinheit 102 das Knoteninformationen-Element, das die Variable j als die Knotenbezeichnung enthält, und stellt fest, ob das Widerruf-Flag in den erlangten Knoteninformationen "1" oder "0" ist.
    • (a-2) Wenn das Widerruf-Flag "0" ist, stellt die Schlüsselinformationen-Generierungseinheit 107 des Weiteren fest, ob eine Verschlüsselung unter Verwendung des Vorrichtungsschlüssels durchgeführt worden ist, der dem verbundenen Knoten direkt über dem Zielknoten entspricht.
    • (a-3) Wenn die Verschlüsselung nicht unter Verwendung des Vorrichtungsschlüssels durchgeführt worden ist, der dem verbundenen Knoten direkt über dem Zielknoten entspricht, extrahiert die Schlüsselinformationen-Generierungseinheit 107 den Vorrichtungsschlüssel aus dem erlangten Knoteninformationen-Element und verschlüsselt den generierten Medienschlüssel unter Verwendung des extrahierten Vorrichtungsschlüssels, indem ein Verschlüsselungsalgorithmus E1 angewendet wird, um einen verschlüsselten Medienschlüssel zu generieren.
    • Verschlüsselter Medienschlüssel = E1 (Vorrichtungsschlüssel, Medienschlüssel)
  • Hier gibt E (A, B) an, dass die Daten B unter Verwendung eines Schlüssels A unter Anwendung des Verschlüsselungsalgorithmus E verschlüsselt sind.
  • Ein Beispiel des Verschlüsselungsalgorithmus E1 ist DES (Data Encryption Standard/Daten-Verschlüsselungsstandard).
  • Als Nächstes gibt die Schlüsselinformationen-Generierungseinheit 107 den generierten verschlüsselten Medienschlüssel an die Schlüsselinformationen-Aufzeichnungsvorrichtung 200 aus.
  • Es ist anzumerken, dass, wenn das Widerruf-Flag "1" ist, oder wenn eine Verschlüsselung durchgeführt worden ist, die Schlüsselinformationen-Generierungseinheit 107 die Verarbeitung (a-3) nicht durchführt.
  • Da die Schlüsselinformationen-Generierungseinheit 107 die oben beschriebene Verarbeitung in dem in 5 gezeigten Fall wiederholt durchführt, wird eine Vielzahl von verschlüsselten Medienschlüsseln, wie denjenigen, die in einem Beispiel in 7 gezeigt sind, generiert und ausgegeben. Die Schlüsselinformationen-Generierungseinheit 107 gibt die Vielzahl der verschlüsselten Medienschlüssel als Schlüsselinformationen D300 aus.
  • Es ist anzumerken, dass die Positionen, in denen die Medienschlüssel in den Schlüsselinformationen D300 gespeichert sind, gesetzt sind. Die Positionen sind gemäß der oben beschriebenen wiederholten Verarbeitung gesetzt. Wie in 7 gezeigt, sind die verschlüsselten Medienschlüssel E1 (keyE, Medienschlüssel), E1 (keyG, Medienschlüssel), E1 (keyI, Medienschlüssel), E1 (keyL, Medienschlüssel) und E1 (IK2, Medienschlüssel) jeweils in Positionen gespeichert, die mit "0", "1", "2", "3" und "4" definiert sind.
  • 1.1.2 Schlüsselinformationen-Aufzeichnungsvorrichtung 200
  • xxx
  • Die Schlüsselinformationen-Aufzeichnungsvorrichtung 200 empfängt Header-Informationen von der Generierungseinheit für Schlüsselinformationen-Header 106, empfängt Schlüsselinformationen von der Schlüsselinformationen-Generierungseinheit 107 und schreibt die empfangenen Header-Informationen und Schlüsselinformationen in das Aufzeichnungsmedium 500a.
  • 1.1.3 Aufzeichnungsmedien 500a, b und c
  • Das Aufzeichnungsmedium 500a ist ein beschreibbares Medium, wie beispielsweise ein DVD-RAM, und speichert keinerlei Informationen.
  • Das Aufzeichnungsmedium 500b ist das Aufzeichnungsmedium 500a, auf das Schlüsselinformationen, an die Header-Informationen angehängt sind, von der Schlüsselverwaltungsvorrichtung 100 und der Schlüsselinformationen-Aufzeichnungsvorrichtung 200 in der vorher beschriebenen Weise geschrieben worden sind.
  • Das Aufzeichnungsmedium 500c ist das Aufzeichnungsmedium 500b, auf das verschlüsselter Inhalt von irgendeiner der Aufzeichnungsvorrichtungen 300a usw. in der vorher beschriebenen Weise geschrieben worden ist.
  • Wie in 8 gezeigt, werden Schlüsselinformationen, die angehängte Header-Informationen aufweisen, und verschlüsselter Inhalt auf dem Aufzeichnungsmedium 500c aufgezeichnet.
  • 1.1.4 Aufzeichnungsvorrichtungen 300a usw.
  • Die Aufzeichnungsvorrichtung 300a, die in 8 gezeigt ist, besteht aus einer Schlüsselinformationen-Speichereinheit 301, einer Entschlüsselungseinheit 302, einer Spezifizierungseinheit 303, einer Verschlüsselungseinheit 304 und einer Inhalts-Speichereinheit 305. Es ist anzumerken, dass die Aufzeichnungsvorrichtungen 300b usw. eine mit den Aufzeichnungsvorrichtungen 300a identische Struktur aufweisen und ihre Beschreibungen daher weggelassen werden.
  • Die Aufzeichnungsvorrichtung 300a umfasst einen Mikroprozessor, einen ROM und einen RAM. Im RAM sind Computerprogramme gespeichert. Die Aufzeichnungsvorrichtung 300a erfüllt ihre Funktionen über den Mikroprozessor, der in Übereinstimmung mit den Computerprogrammen arbeitet.
  • Das Aufzeichnungsmedium 500b wird in die Aufzeichnungsvorrichtung 300a geladen. Die Aufzeichnungsvorrichtung 300a analysiert Header-Informationen, die auf dem Aufzeichnungsmedium 500b gespeichert sind, auf Basis der Kennungsinformationen, die von der Aufzeichnungsvorrichtung 300a selbst gespeichert sind, um die Positionen des verschlüsselten Medienschlüssels, der entschlüsselt werden soll, und den Vorrichtungsschlüssel, der verwendet werden soll, anzugeben, und verwendet den spezifizierten Vorrichtungsschlüssel zum Entschlüsseln des verschlüsselten Medienschlüssels und folglich zum Erlangen des Medienschlüssels. Als Nächstes verschlüsselt die Aufzeichnungsvorrichtung 300a digitalisierten Inhalt unter Verwendung des erlangten Medienschlüssels und zeichnet den verschlüsselten Inhalt auf dem Aufzeichnungsmedium 500b auf.
  • (1) Schlüsselinformationen-Speichereinheit 301
  • Die Schlüsselinformationen-Speichereinheit 301 weist einen Bereich zum Speichern von Kennungsinformationen, fünf Vorrichtungsschlüssel und fünf Vorrichtungsschlüssel-Identifizierungselemente zum jeweiligen Identifizieren der fünf Vorrichtungsschlüssel auf.
  • (2) Spezifizierungseinheit 303
  • Die Spezifizierungseinheit 303 arbeitet unter der Voraussetzung, dass die Generierungseinheit für Schlüsselinformationen-Header 106 in der Schlüsselverwaltungsvorrichtung 100 die Header-Informationen der Schlüsselinformationen unter Befolgung der vorher beschriebenen Reihenfolge-Regel 1 generiert hat.
  • Die Spezifizierungseinheit 303 liest die Kennungsinformationen aus der Schlüsselinformationen-Speichereinheit 301. Die Spezifizierungseinheit 303 liest auch die Header-Informationen und die Schlüsselinformationen aus dem Aufzeichnungsmedium 500b. Als Nächstes spezifiziert die Spezifikationseinheit 303 eine Position X von einem verschlüsselten Medienschlüssel in den Schlüsselinformationen unter Verwendung der gelesenen Kennungsinformationen und der gelesenen Header-Informationen, indem die Elemente der Header-Informationen der Reihe nach von oben geprüft werden, und spe zifiziert das Element der Vorrichtungsschlüssel-Identifizierungsinformationen, das den Vorrichtungsschlüssel identifiziert, der beim Entschlüsseln des verschlüsselten Medienschlüssels verwendet werden soll. Es ist anzumerken, dass Details der Abläufe zum Spezifizieren der Position X des verschlüsselten Medienschlüssels und Spezifizieren des Elements der Vorrichtungsschlüssel-Identifizierungsinformationen später beschrieben werden.
  • Als Nächstes gibt die Spezifizierungseinheit 303 den spezifizierten verschlüsselten Medienschlüssel und die spezifizierten Vorrichtungs-Identifizierungsinformationen an die Entschlüsselungseinheit 302 aus.
  • (3) Entschlüsselungseinheit 302
  • Die Entschlüsselungseinheit 302 empfängt den verschlüsselten Medienschlüssel und das Element der Vorrichtungsschlüssel-Identifizierungsinformationen von der Spezifizierungseinheit 303. Beim Empfangen des verschlüsselten Medienschlüssels und des Elements der Vorrichtungsschlüssel-Identifizierungsinformationen liest die Entschlüsselungseinheit 302 den Vorrichtungsschlüssel, der durch das von der Schlüsselinformationen-Speichereinheit 301 empfangene Element der Vorrichtungsschlüssel-Identifizierungsinformationen identifiziert worden ist, und entschlüsselt den empfangenen verschlüsselten Medienschlüssel unter Verwendung des gelesenen Vorrichtungsschlüssels, indem ein Entschlüsselungsalgorithmus D1 angewendet wird, um einen Medienschlüssel zu generieren.
    • Medienschlüssel = D1 (Vorrichtungsschlüssel, verschlüsselter Medienschlüssel)
  • Hier bezeichnet D (A, B) das Entschlüsseln von verschlüsselten Daten B unter Verwendung eines Schlüssels A, indem ein Entschlüsselungsalgorithmus D angewendet wird, um die ursprünglichen Daten zu generieren.
  • Des Weiteren entspricht der Entschlüsselungsalgorithmus D1 dem Verschlüsselungsalgorithmus E1 und ist ein Algorithmus zum Entschlüsseln von Daten, die unter Verwendung des Verschlüsselungsalgorithmus E1 verschlüsselt worden sind.
  • Als Nächstes gibt die Entschlüsselungseinheit 302 den generierten Medienschlüssel an die Schlüsselinformationen-Aktualisierungseinheit 304 aus.
  • Es ist anzumerken, dass jeder in 8 gezeigte Block mit dem Block durch Verbindungslinien verbunden ist, doch wurden einige der Verbindungslinien weggelassen. Hier bildet jede Verbindungslinie einen Weg, über den Signale und Informationen übertragen werden. Des Weiteren bildet von den Verbindungslinien, die mit dem Block verbunden sind, der die Entschlüsselungseinheit 302 darstellt, die Linie, auf der eine Schlüsselmarkierung dargestellt ist, den Weg, über den Informationen als ein Schlüssel zu der Entschlüsselungseinheit 302 übertragen werden. Dies gilt auch für die Schlüsselinformationen-Aktualisierungseinheit 304 und auch für andere Blöcke in anderen Zeichnungen.
  • (4) Inhalts-Speichereinheit 305
  • Die Inhalts-Speichereinheit 305 speichert Inhalt, der ein digitales Erzeugnis ist, wie beispielsweise digitalisierte Musik.
  • (5) Verschlüsselungseinheit 304
  • Die Verschlüsselungseinheit 304 empfängt den Medienschlüssel von der Entschlüsselungseinheit 302 und liest den Inhalt aus der Inhalts-Speichereinheit 305. Als Nächstes verschlüsselt die Verschlüsselungseinheit 304 den gelesenen Inhalt unter Verwendung des empfangenen Medienschlüssels, indem ein Verschlüsselungsalgorithmus E2 angewendet wird, um den verschlüsselten Inhalt zu generieren.
    • Verschlüsselter Inhalt = E2 (Medienschlüssel, Inhalt)
  • Hier ist der Verschlüsselungsalgorithmus E2 zum Beispiel ein DES-Verschlüsselungsalgorithmus.
  • Als Nächstes schreibt die Verschlüsselungseinheit 304 den generierten verschlüsselten Inhalt auf das Aufzeichnungsmedium 500b. Dies führt dazu, dass das Aufzeichnungsmedium 500c, auf das der verschlüsselte Inhalt geschrieben worden ist, generiert wird.
  • 1.1.5 Wiedergabevorrichtungen 400a, 400b, 400c ...
  • Die Wiedergabevorrichtung 400a, wie in 9 gezeigt, besteht aus einer Schlüsselinformationen-Speichereinheit 401, einer Spezifizierungseinheit 402, einer Entschlüsselungseinheit 403, einer Verschlüsselungseinheit 404 und einer Wiedergabeeinheit 405. Es ist anzumerken, dass die Wiedergabevorrichtungen 400b usw. die gleiche Struktur aufweisen wie die Wiedergabevorrichtung 400a, und deshalb wird deren Beschreibung weggelassen.
  • Die Wiedergabeeinheit 400a umfasst speziell einen Mikroprozessor, einen ROM und einen RAM. Computerprogramme sind im RAM gespeichert. Die Wiedergabevorrichtung 400a erfüllt ihre Funktionen über den Betrieb des Mikroprozessors in Übereinstimmung mit den Computerprogrammen.
  • Hier weisen die Schlüsselinformationen-Speichereinheit 401, die Spezifizierungseinheit 402 und die Entschlüsselungseinheit 403 die gleichen Strukturen auf wie jeweils die Schlüsselinformationen-Speichereinheit 301, die Spezifizierungseinheit 303 und die Entschlüsselungseinheit 302, und daher wird eine Beschreibung von ihnen weggelassen.
  • Das Aufzeichnungsmedium 500c wird in die Wiedergabevorrichtung 400a geladen. Die Wiedergabevorrichtung 400a analysiert auf Basis der Kennungsinformationen, welche die Wiedergabevorrichtung 400a selbst speichert, die in dem Aufzeichnungsmedium 500c gespeicherten Header-Informationen, um die Position des verschlüsselten Medienschlüssels, der entschlüsselt werden soll, und den Vorrichtungsschlüssel, der verwendet werden soll, zu spezifizieren, und entschlüsselt den spezifizierten verschlüsselten Medienschlüssel unter Verwendung des spezifizierten Vorrichtungsschlüssels, um den Medienschlüssel zu erlangen. Als Nächstes entschlüsselt die Wiedergabevorrichtung 400a den verschlüsselten Inhalt, der auf dem Aufzeichnungsmedium 500c gespeichert ist, unter Verwendung des erlangten Medienschlüssels, um den Inhalt wiederzugeben.
  • (1) Entschlüsselungseinheit 404
  • Die Entschlüsselungseinheit 403 empfängt den Medienschlüssel von der Verschlüsselungseinheit 404, liest den verschlüsselten Inhalt aus dem Aufzeichnungsmedium 500c, entschlüsselt den gelesenen verschlüsselten Inhalt unter Verwendung des empfangenen Medienschlüssels, indem ein Entschlüsselungsalgorithmus D2 angewendet wird, um Inhalt zu generieren, und gibt den entschlüsselten Inhalt an die Wiedergabeeinheit 405 aus.
    • Inhalt = D2 (Medienschlüssel, verschlüsselter Inhalt)
  • Hier entspricht der Entschlüsselungsalgorithmus D2 dem Verschlüsselungsalgorithmus E2 und ist ein Algorithmus zum Entschlüsseln von Daten, die unter Anwendung des Verschlüsselungsalgorithmus E2 verschlüsselt worden sind.
  • (2) Wiedergabeeinheit 405
  • Die Wiedergabeeinheit 405 empfängt den Inhalt von der Entschlüsselungseinheit 404 und gibt den empfangenen Inhalt wieder. Wenn der Inhalt zum Beispiel Musik ist, wandelt die Wiedergabeeinheit 405 den Inhalt in Audiodaten um und gibt die Audiodaten aus.
  • 1.2 Abläufe des Schutzsystems für digitale Erzeugnisse 10
  • Im Folgenden werden Abläufe des Schutzsystems für digitale Erzeugnisse 10 beschrieben.
  • 1.2.1 Abläufe zum Zuweisen von Vorrichtungsschlüsseln, Generieren eines Aufzeichnungsmediums und Verschlüsseln oder Entschlüsseln von Inhalt
  • Hier wird das Ablaufdiagramm in 10 verwendet, um Abläufe zum Zuweisen von Vorrichtungsschlüsseln zu jeder Benutzervorrichtung, Abläufe zum Generieren von Schlüsselinformationen und Schreiben der Benutzerinformationen auf ein Aufzeichnungsmedium und Abläufe der Benutzervorrichtung zum Verschlüsseln oder Entschlüsseln von Inhalt zu beschreiben. Insbesondere werden die Abläufe bis zu dem Punkt beschrieben, an dem der Vorrichtungsschlüssel unrechtmäßig von einer dritten Partei aufgedeckt wird.
  • Die Baumstruktur-Konstruktionseinheit 101 in der Schlüsselverwaltungsvorrichtung 100 generiert eine Baumstrukturtabelle, die eine Baumstruktur ausdrückt, und schreibt die generierte Baumstrukturtabelle in die Baumstruktur-Speichereinheit 102 (Schritt S101). Als Nächstes generiert die Baumstruktur-Konstruktionseinheit 101 einen Vorrichtungsschlüssel für jeden Knoten der Baumstruktur und schreibt jeden generierten Vorrichtungsschlüssel in Übereinstimmung mit dem jeweiligen Knoten in die Baumstrukturtabelle (Schritt S102). Als Nächstes gibt die Vorrichtungsschlüssel-Zuweisungseinheit 103 Vorrichtungsschlüssel, Vorrichtungsschlüssel-Identifizierungsinformationen und Kennungsinformationen an die entsprechende Benutzervorrichtung aus (Schritt S103 bis S104). Die Schlüsselinformationen-Speichereinheit der Benutzervorrichtung empfängt die Vorrichtungsschlüssel, die Vorrichtungsschlüssel-Identifizierungsinformationen und die Kennungsinformationen (Schritt S104) und zeichnet die empfangenen Vorrichtungsschlüssel, Vorrichtungsschlüssel-Identifizierungsinformationen und Kennungsinformationen auf (Schritt S111).
  • Auf diese Weise werden Benutzervorrichtungen, in denen Vorrichtungsschlüssel, Vorrichtungsschlüssel-Identifizierungsinformationen und Kennungsinformationen aufgezeichnet sind, erzeugt, und die erzeugten Benutzervorrichtungen werden an Benutzer verkauft.
  • Als Nächstes generiert die Schlüsselinformationen-Generierungseinheit 107 einen Medienschlüssel (Schritt S105), generiert Schlüsselinformationen (S106) und gibt die generierten Schlüsselinformationen an das Aufzeichnungsmedium 500a über die Schlüsselinformationen-Aufzeichnungsvorrichtung 200 aus (Schritt S107 bis S108). Das Aufzeichnungsmedium 500a speichert die Schlüsselinformationen (Schritt S121).
  • Auf diese Weise wird das Aufzeichnungsmedium 500b, auf dem die Schlüsselinformationen aufgezeichnet sind, generiert und dann an den Benutzer verteilt, indem es beispielsweise verkauft wird.
  • Als Nächstes wird das Aufzeichnungsmedium, auf dem die Schlüsselinformationen aufgezeichnet sind, in die Benutzervorrichtung geladen, und die Benutzervorrichtung liest die Schlüsselinformationen aus dem Aufzeichnungsmedium (Schritt S131), verwendet die gelesenen Schlüsselinformationen zum Spezifizieren des verschlüsselten Medien schlüssels, welcher der Benutzervorrichtung selbst zugewiesen ist (Schritt S132), und entschlüsselt den Medienschlüssel (Schritt S133). Dann verschlüsselt die Benutzervorrichtung den Inhalt entweder unter Verwendung des entschlüsselten Medienschlüssels und schreibt den verschlüsselten Inhalt auf das Aufzeichnungsmedium 500b, oder liest verschlüsselten Inhalt, der von dem Aufzeichnungsmedium 500c aufgezeichnet worden ist, und entschlüsselt den gelesenen verschlüsselten Inhalt unter Verwendung des Medienschlüssels, um Inhalt zu generieren (Schritt S134).
  • Auf diese Weise wird verschlüsselter Inhalt von der Benutzervorrichtung auf das Aufzeichnungsmedium 500b geschrieben, und verschlüsselter Inhalt, der auf dem Aufzeichnungsmedium 500c aufgezeichnet ist, wird von der Benutzervorrichtung gelesen und entschlüsselt und dann wiedergegeben.
  • Als Nächstes erlangt die dritte Partei den Vorrichtungsschlüssel unrechtmäßig auf irgendeine Weise. Die dritte Partei bringt den Inhalt unrechtmäßig in Umlauf und erzeugt illegale Vorrichtungen, die Nachahmungen einer legalen Benutzervorrichtung sind, und verkauft sie.
  • Der Verwalter der Schlüsselverwaltervorrichtung 100 oder der Urheberrechtsinhaber des Inhalts entdeckt, dass der Inhalt unrechtmäßig in Umlauf gebracht wird oder dass illegale Vorrichtungen im Umlauf sind, und weiß daher, dass ein Vorrichtungsschlüssel preisgegeben worden ist.
  • 1.2.2 Abläufe nach der Aufdeckung des Vorrichtungsschlüssels
  • Hier wird das Ablaufdiagramm in 11 verwendet, um Abläufe zum Widerrufen von Knoten in der Baumstruktur, die dem aufgedeckten Vorrichtungsschlüssel entsprechen, Abläufe zum Generieren von neuen Schlüsselinformationen und Schreiben der generierten Schlüsselinformationen auf ein Aufzeichnungsmedium sowie Abläufe der Benutzervorrichtung zum Verschlüsseln oder Entschlüsseln von Inhalt zu beschreiben, nachdem ein Vorrichtungsschlüssel unrechtmäßig von einer dritten Partei aufgedeckt worden ist.
  • Die Einheit zum Bezeichnen von widerrufenen Vorrichtungen 104 der Schlüsselverwaltungsvorrichtung 100 empfängt wenigstens ein Element von Kennungsinformationen über wenigstens eine Benutzervorrichtung, die widerrufen werden soll, und gibt die empfangenen Kennungsinformationen an die Schlüsselstruktur-Aktualisierungseinheit 105 aus (Schritt S151). Als Nächstes empfängt die Schlüsselstruktur-Aktualisierungseinheit 105 die Kennungsinformationen und aktualisiert die Baumstruktur unter Verwendung der empfangenen Kennungsinformationen (Schritt S152). Die Generierungseinheit für Schlüsselinformationen-Header 106 generiert Header-Informationen und gibt die generierten Header-Informationen an die Schlüsselinformationen-Aufzeichnungsvorrichtung 200 aus (Schritt S153). Die Schlüsselinformationen-Generierungseinheit 107 generiert einen Medienschlüssel (Schritt S154), generiert Schlüsselinformationen (Schritt S155) und gibt die generierten Schlüsselinformationen über die Schlüsselinformationen-Aufzeichnungsvorrichtung 200 aus (Schritt S156 bis S157), welche die Schlüsselinformationen auf dem Aufzeichnungsmedium 500a aufzeichnet (Schritt S161).
  • Auf diese Weise wird ein Aufzeichnungsmedium 500b, auf dem Schlüsselinformationen aufgezeichnet sind, generiert und dann an den Benutzer verteilt, indem es beispielsweise verkauft wird.
  • Als Nächstes wird das Aufzeichnungsmedium, auf dem die Schlüsselinformationen aufgezeichnet sind, in die Benutzervorrichtung geladen, und die Benutzervorrichtung liest die Schlüsselinformationen aus dem Aufzeichnungsmedium (Schritt S171), verwendet die gelesenen Schlüsselinformationen zum Spezifizieren des verschlüsselten Medienschlüssels, welcher der Benutzervorrichtung selbst zugewiesen ist (Schritt S172), und entschlüsselt den Medienschlüssel (Schritt S173). Dann verschlüsselt die Benutzervorrichtung den Inhalt entweder unter Verwendung des entschlüsselten Medienschlüssels und schreibt den verschlüsselten Inhalt auf das Aufzeichnungsmedium 500b, oder liest verschlüsselten Inhalt, der auf dem Aufzeichnungsmedium 500c aufgezeichnet ist, und entschlüsselt den gelesenen verschlüsselten Inhalt unter Verwendung des Medienschlüssels, um Inhalt zu generieren (Schritt S174).
  • Auf diese Weise wird verschlüsselter Inhalt von der Benutzervorrichtung auf das Aufzeichnungsmedium 500b geschrieben, und verschlüsselter Inhalt, der auf dem Aufzeichnungsmedium 500c aufgezeichnet ist, wird von der Benutzervorrichtung gelesen und entschlüsselt und dann wiedergegeben.
  • 1.2.3 Abläufe zum Konstruieren und Speichern der Baumstruktur
  • Hier wird das Ablaufdiagramm in 12 verwendet, um Abläufe durch die Baumstruktur-Konstruktionseinheit 101 zum Generieren einer Baumstrukturtabelle und Schreiben der Baumstrukturtabelle in die Baumstruktur-Speichereinheit 102 zu beschreiben. Es ist anzumerken, dass die hier beschriebenen Abläufe Details von Schritt S101 im Ablaufdiagramm in der 10 sind.
  • Die Baumstruktur-Konstruktionseinheit 101 generiert Knoteninformationen, die "root" als die Knotenbezeichnung enthalten, und schreibt die generierten Knoteninformationen in die Baumstrukturtabelle in der Baumstruktur-Speichereinheit 102 (Schritt S191).
  • Als Nächstes wiederholt die Baumstruktur-Konstruktionseinheit 101 die folgenden Schritte S193 bis S194 für die Schicht i (i = 1, 2, 3, 4).
  • Die Baumstruktur-Konstruktionseinheit 101 generiert eine Zeichenfolge von 2i Zeichen als die Knotenbezeichnung (Schritt S193) und schreibt Knoteninformationen, welche die Zeichenfolge von 2i Zeichen als die Knotenbezeichnung enthalten, der Reihe nach in die Baumstrukturtabelle (Schritt S194).
  • 1.2.4 Abläufe zum Ausgeben von Vorrichtungsschlüsseln und Kennungsinformationen an die Benutzervorrichtungen
  • Hier wird das Ablaufdiagramm in 13 verwendet, um Abläufe durch die Vorrichtungsschlüssel-Zuweisungseinheit 103 zum Ausgeben von Vorrichtungsschlüsseln und Kennungsinformationen an die Benutzervorrichtungen zu beschreiben. Es ist anzumerken, dass die hier beschriebenen Abläufe Details von Schritt S103 im Ablaufdiagramm in 10 sind.
  • Die Vorrichtungsschlüssel-Zuweisungseinheit 103 ändert die Variablen-Kennung in "0000", "0001", "0010", ... "1110" und "1111" und wiederholt die folgenden Schritte S222 bis S227 für jede Variablen-Kennung.
  • Die Vorrichtungsschlüssel-Zuweisungseinheit 103 erlangt den der Wurzel zugewiesenen Vorrichtungsschlüssel (S222), erlangt den Vorrichtungsschlüssel A, der dem Knoten zugewiesen ist, dessen Knotenbezeichnung das Kopf-Bit der Variablen-Kennung ist (Schritt S223), erlangt einen Vorrichtungsschlüssel B, der dem Knoten zugewiesen ist, dessen Knotenbezeichnung die zwei Kopf-Bits der Variablen-Kennung sind (Schritt S224), erlangt einen Vorrichtungsschlüssel C, der dem Knoten zugewiesen ist, dessen Knotenbezeichnung die drei Kopf-Bits der Variablen-Kennung sind (Schritt S225), erlangt einen Vorrichtungsschlüssel D, der dem Knoten zugewiesen ist, dessen Knotenbezeichnung die vier Kopf-Bits der Variablen-Kennung sind (Schritt S226), und gibt die Vorrichtungsschlüssel A, B, C und D, die jedem Knoten zugewiesen sind, an die Benutzervorrichtung aus (Schritt S227).
  • 1.2.5 Abläufe zum Aktualisieren der Baumstruktur
  • Hier wird das Ablaufdiagramm in 14 verwendet, um Abläufe von der Schlüsselstruktur-Aktualisierungseinheit 105 zum Aktualisieren der Baumstruktur zu beschreiben. Es ist anzumerken, dass die hier beschriebenen Abläufe Details von Schritt S152 im Ablaufdiagramm in der 11 sind.
  • Die Schlüsselstruktur-Aktualisierungseinheit 105 führt die folgenden Schritte S242 bis S246 für jedes des wenigstens einen Elements von Kennungsinformationen aus, die von der Einheit zum Bezeichnen von widerrufenen Vorrichtungen 104 empfangen worden sind.
  • Die Schlüsselstruktur-Aktualisierungseinheit 105 erlangt das Element der Knoteninformationen, welches das empfangene Element der Kennungsinformationen als die Knotenbezeichnung enthält, und hängt ein Widerruf-Flag "1" an die erlangten Knoteninformationen an (Schritt S242).
  • Als Nächstes erlangt die Schlüsselstruktur-Aktualisierungseinheit 105 das Element der Knoteninformationen, das die drei Kopf-Bits des empfangenen Elements der Kennungsinformationen als die Knotenbezeichnung enthält, und hängt ein Widerruf-Flag "1" an die erlangten Knoteninformationen an (Schritt S243).
  • Als Nächstes erlangt die Schlüsselstruktur-Aktualisierungseinheit 105 das Element der Knoteninformationen, das die zwei Kopf-Bits des empfangenen Elements der Kennungsinformationen als die Knotenbezeichnung enthält, und hängt ein Widerruf-Flag "1" an die erlangten Knoteninformationen an (Schritt S244).
  • Als Nächstes erlangt die Schlüsselstruktur-Aktualisierungseinheit 105 das Element der Knoteninformationen, welches das Kopf-Bit des empfangenen Elements der Kennungsinformationen als die Knotenbezeichnung enthält, und hängt ein Widerruf-Flag "1" an die erlangten Knoteninformationen an (Schritt S245).
  • Als Nächstes erlangt die Schlüsselstruktur-Aktualisierungseinheit 105 das Element der Knoteninformationen, das "root" als die Knotenbezeichnung enthält, und hängt ein Widerruf-Flag "1" an die erlangten Knoteninformationen an (Schritt S246).
  • 1.2.6 Abläufe zum Generieren von Header-Informafionen
  • Hier wird das Ablaufdiagramm in 15 verwendet, um Abläufe von der Generierungseinheit für Schlüsselinformationen-Header 106 zum Generieren von Header-Informationen zu beschreiben. Es ist anzumerken, dass die hier beschriebenen Abläufe die Details von Schritt S153 im Ablaufdiagramm in 11 sind.
  • Die Generierungseinheit für Schlüsselinformationen-Header 106 führt die Schritte S262 bis S266 für jede Schicht von Schicht 0 bis Schicht 3 durch und führt ferner die Schritte S263 bis S265 für jeden Zielknoten in jeder Schicht durch.
  • Die Generierungseinheit für Schlüsselinformationen-Header 106 wählt die zwei direkt untergeordneten Knoten des Zielknotens aus (Schritt S263), prüft, ob jeder der zwei ausgewählten Knoten ein angehängtes Widerruf-Flag aufweist oder nicht, um ein NRP zu generieren (Schritt S264), und gibt das generierte Widerrufmuster aus (Schritt S265).
  • 1.2.7 Abläufe zum Generieren von Schlüsselinformationen
  • Hier wird das Ablaufdiagramm in 16 verwendet, um Abläufe von der Schlüsselinformationen-Genenerungseinheit 107 zum Generieren von Schlüsselinformationen zu beschreiben. Es ist anzumerken, dass die hier beschriebenen Abläufe die Details von Schritt S155 im Ablaufdiagramm in 11 sind.
  • Die Schlüsselinformationen-Generierungseinheit 107 führt die Schritte S282 bis S287 für jede Schicht von Schicht 1 bis Schicht 3 durch, und führt ferner die Schritte S283 bis S286 für jeden Zielknoten in jeder Schicht durch.
  • Die Schlüsselinformationen-Generierungseinheit 107 stellt fest, ob ein Widerruf-Flag "1" an den Zielknoten angehängt ist. Wenn kein Widerruf-Flag "1" angehängt ist (Schritt S283), stellt die Schlüsselinformationen-Generierungseinheit 107 des Weiteren fest, ob eine Verschlüsselung unter Verwendung des Vorrichtungsschlüssels durchgeführt worden ist, der dem übergeordneten Knoten des Zielknotens entspricht. Wenn keine Verschlüsselung durchgeführt worden ist (Schritt S284), erlangt die Schlüsselinformationen-Generierungseinheit 107 den Vorrichtungsschlüssel, der dem Zielknoten entspricht, aus der Baumstrukturtabelle (Schritt S285), verschlüsselt den generierten Medienschlüssel unter Verwendung des erlangten Vorrichtungsschlüssels, um einen verschlüsselten Medienschlüssel zu generieren, und gibt den verschlüsselten Medienschlüssel aus (Schritt S286).
  • Wenn ein Widerruf-Flag "1" an den Zielknoten angehängt ist (Schritt S283), oder wenn eine Verschlüsselung durchgeführt worden ist (Schritt S284), führt die Schlüsselinformationen-Generierungseinheit 107 Schritt S285 bis S286 nicht aus.
  • 1.2.8 Abläufe zum Spezifizieren von Schlüsselinformationen
  • Hier wird das Ablaufdiagramm in 17 verwendet, um Abläufe von der Spezifizierungseinheit 303 der Aufzeichnungsvorrichtung 300a zum Spezifizieren eines verschlüsselten Medienschlüssels aus den Schlüsselinformationen zu beschreiben, die auf dem Aufzeichnungsmedium 500b gespeichert sind. Es ist anzumerken, dass die hier beschriebenen Abläufe die Details von Schritt S172 im Ablaufdiagramm in 11 sind.
  • Es ist ebenfalls anzumerken, dass Abläufe, die von der Spezifizierungseinheit 402 der Wiedergabevorrichtung 400a durchgeführt werden, die gleichen sind wie diejenigen der Spezifizierungseinheit 303, und daher wird eine Beschreibung von diesen weggelassen.
  • Die Spezifizierungseinheit 303 weist eine Variable X auf, welche die Position des verschlüsselten Medienschlüssels angibt, eine Variable A, welche die Position des NRP in Bezug auf die Benutzervorrichtung selbst angibt, eine Variable W, welche die Anzahl von NRPs in einer Schicht angibt, und einen Wert D, der die Anzahl von Schichten in der Baumstruktur angibt. Hier bezeichnet ein NRP, das sich auf die Benutzervorrichtung selbst bezieht, ein NRP eines Knotens in der Baumstruktur, der sich an der Kante von dem Blatt, das der Benutzervorrichtung zugewiesen ist, bis zu der Wurzel befindet.
  • Die Spezifizierungseinheit 303 analysiert die Schicht i = 0 bis zur Schicht i = D – 1 gemäß der folgenden Prozedur.
  • Die Spezifizierungseinheit 303 setzt die Variable A = 0, die Variable W = 1 und die Variable i = 0 als Anfangswerte (Schritt S301).
  • Die Spezifizierungseinheit 303 vergleicht die Variable i und den Wert D, und wenn die Variable i größer als der Wert D ist (Schritt S302), ist die Benutzervorrichtung eine widerrufene Benutzervorrichtung, und daher beendet die Spezifizierungseinheit 303 die Verarbeitung.
  • Wenn die Variable i kleiner oder gleich Wert D ist (Schritt S302), prüft die Spezifizierungseinheit 303, ob ein Wert B, der sich in der Bit-Position befindet, die dem Wert des höchsten i-ten Bits der Kennungsinformationen entspricht, "0" oder "1" ist, um festzustellen, welchem des linken Bits und des rechten Bits des NRP der Wert B entspricht (Schritt S303). Da hier, wie in 4 gezeigt, "0" zu der linken Kante in der Baumstruktur zugewiesen ist, und "1" zu der rechten Kante zugewiesen ist, und sich die Kennungsinformationen auf Basis dieser Regel zusammensetzen, entspricht ein Wert "0" des höchsten i-ten Bits der Kennungsinformationen dem linken Bit des A-ten NRP, wogegen ein Wert "1" dem rechten Bit des A-ten NRP entspricht
  • Wenn Wert B = 0 (Schritt S303), zählt die Spezifizierungseinheit 303 die Anzahl von NRPs von den bisher geprüften NRPs, deren Bits nicht alle den Wert "1" haben, und setzt den gewählten Wert als die Variable X. Die auf diese Weise erlangte Variable X gibt die Position des verschlüsselten Medienschlüssels an. Des Weiteren sind die Vor richtungsschlüssel-Identifizierungsinformationen zum Identifizieren des Vorrichtungsschlüssels die Variable i an diesem Punkt (Schritt S307). Die Spezifizierungseinheit 303 beendet dann die Verarbeitung.
  • Wenn Wert B = 1 (Schritt S303), zählt die Spezifizierungseinheit 303 die Anzahl von "Einsen" in allen NRPs in Schicht i, und setzt den gezählten Wert in der Variablen W. Die auf diese Weise erlangte Variable W gibt die Anzahl von NRPs in der nächsten Schicht i + 1 an (Schritt S304).
  • Als Nächstes zählt die Spezifizierungseinheit 303 die Anzahl von "Einsen" ab dem ersten NRP in Schicht i bis zu dem NRP der entsprechenden Bit-Position und setzt den gezählten Wert in der Variablen A. Hier wird der Wert der entsprechenden Bit-Position nicht gezählt. Die auf diese Weise erlangte Variable A gibt die Position des NRP aus den NRPs in der nächsten Schicht i + 1 an, die sich auf die Benutzervorrichtung selbst bezieht (Schritt S305).
  • Als Nächstes berechnet die Spezifizierungseinheit 303 die Variable i = i + 1 (Schritt S306), versetzt die Steuerung auf Schritt S302 und wiederholt die oben beschriebene Verarbeitung.
  • 1.2.9 Spezifisches Beispiel von Abläufen zum Spezifizieren von Schlüsselinformationen
  • Im Folgenden wird ein spezifisches Beispiel von Abläufen durch die nicht-widerrufene Benutzervorrichtung 14, die in 5 gezeigt ist, bis zum Spezifizieren eines verschlüsselten Medienschlüssels unter Verwendung der Header-Informationen und der Schlüsselinformationen beschrieben, die in 6 und 7 gezeigt sind. Hier wird angenommen, dass der Benutzervorrichtung 14 die Kennungsinformationen "1101" und die Vorrichtungsschlüssel "KeyA", "KeyC", "KeyG", "KeyN" und "IK14" zugewiesen worden sind.
  • <Schritt 1> Da der Wert des höchsten Bits der Kennungsinformationen "1101", die der Benutzervorrichtung 14 zugewiesen sind, "1" ist, prüft die Spezifizierungseinheit 303 das rechte Bit des ersten NRP {11} (Schritt S303).
  • <Schritt 2> Da der Wert des rechten Bits des ersten NRP {11} "1" ist, setzt die Spezifizierungseinheit 303 die Analyse fort (Schritt S303, B = 1).
  • <Schritt 3> Die Spezifizierungseinheit 303 zählt die Anzahl von "Einsen" in dem NRP {11} in Schicht 0. Da der gezählte Wert "2" ist, weiß die Spezifizierungseinheit 303, dass in der nächsten Schicht 1 zwei NRPs vorhanden sind (Schritt S304).
  • <Schritt 4> Die Spezifizierungseinheit 303 zählt die Anzahl von "Einsen" in den NRP bis zu der entsprechenden Bit-Position. Es ist anzumerken, dass der Wert der entsprechenden Bit-Position nicht gezählt wird. Da der gezählte Wert "1" ist, befindet sich das NRP, das der nächsten Schicht 1 entspricht, in Position 1 in Schicht 1 (Schritt S305).
  • <Schritt 5> Da der Wert des zweithöchsten Bits der Kennungsinformationen "1101" "1" ist, prüft die Spezifizierungseinheit 303 als Nächstes das rechte Bit des ersten NRP {10} in Schicht 1 (Schritt S303).
  • <Schritt 6> Da der Wert des rechten Bits des ersten NRP {10} in Schicht 1 "0" ist, beendet die Spezifizierungseinheit 303 die Analyse hier (Schritt S303, B = 0).
  • <Schritt 7> Die Spezifizierungseinheit 303 zählt die Anzahl von NRPs von den bisher analysierten NRPS, die nicht alle den Wert "1" aufweisen. Es ist anzumerken, dass das zuletzt geprüfte NRP nicht gezählt wird. Da der gezählte Wert "1" ist, befindet sich der verschlüsselte Medienschlüssel in Position 1 in den Schlüsselinformationen (Schritt S307).
  • <Schritt 8> Wie in 7 gezeigt, ist der verschlüsselte Medienschlüssel, der in Position 1 in den Schlüsselinformationen gespeichert ist, E1 (KeyG, Medienschlüssel).
  • Die Benutzervorrichtung 14 hat den KeyG. Dementsprechend ist die Benutzervorrichtung 14 in der Lage, den Medienschlüssel durch Entschlüsseln des verschlüsselten Medienschlüssels unter Verwendung des KeyG zu erlangen.
  • 1.3 Schlussfolgerung
  • Wie beschrieben wurde, ist die Vielzahl von NRPs gemäß der ersten Ausführungsform in Schicht-Reihenfolge in den Header-Informationen der Schlüsselinformationen angeordnet, die vorab auf dem Aufzeichnungsmedium gespeichert wurden, was zu größenmäßig kompakten Schlüsselinformationen führt. Des Weiteren ist der Spieler in der Lage, den verschlüsselten Medienschlüssel, der entschlüsselt werden soll, effizient zu spezifizieren.
  • 2. Zweite Ausführungsform
  • Hier wird eine zweite Ausführungsform als eine Modifizierung der ersten Ausführungsform beschrieben.
  • In der ersten Ausführungsform, wie als Beispiel in 18 gezeigt, ist es möglich, dass widerrufene Benutzervorrichtungen um ein bestimmtes Blatt in der Baumstruktur auftreten. In diesem Fall sind zahlreiche NRPs, die {11} sind, in den Header-Informationen der Schlüsselinformationen vorhanden, welche die Schlüsselverwaltungsvorrichtung 100 auf das Aufzeichnungsmedium schreibt. In dem in 18 gezeigten Beispiel entsprechen alle Blätter auf der linken Hälfte einer Baumstruktur T300 widerrufenen Benutzervorrichtungen, daher sind acht der elf NRPs, die in den Header-Informationen in den Schlüsselinformationen enthalten sind, {11}.
  • Da alle Vorrichtungen auf der linken Seite der Baumstruktur T300 widerrufen sind, ist es in dem in 18 gezeigten Beispiel nicht notwendig, NRPs aufzuzeichnen, die jedem der Knoten in der linken Hälfte als Header-Informationen entsprechen, wenn ausgedrückt ist, dass der linke Knoten von Schicht 1 und alle seine untergeordneten Knoten widerrufene Knoten sind.
  • Zu diesem Zweck ist ein (nicht dargestelltes) Schutzsystem für digitale Erzeugnisse 10b in der zweiten Ausführungsform in der Lage, die Datengröße der Header-Informationen in Fällen zu reduzieren, in denen widerrufene Vorrichtungen einseitig um ein bestimmtes Blatt auftreten.
  • Die Schlüsselverwaltungsvorrichtung 100 generiert NRPs als Header-Informationen der Schlüsselinformationen, wie in der ersten Ausführungsform beschrieben. Hier wird ein Bit zu dem Kopf von NRPs hinzugefügt. Ein hinzugefügtes Bit "1" bedeutet, dass alle Benutzervorrichtungen, die den absteigenden Knoten des bestimmten Knotens zugewiesen sind, widerrufene Vorrichtungen sind. In 19 sind nicht alle der Vorrichtungen, die den absteigenden Knoten eines Knotens T401 und eines Knotens T402 zugewiesen sind, widerrufen, daher ist das Kopf-Bit "0", und die NRPs der Knoten T401 und T402 werden jeweils als {011} und {010} ausgedrückt. Da alle Vorrichtungen, die den absteigenden Knoten eines Knotens T403 zugewiesen sind, widerrufen sind, wird das NRP für den Knoten T403 als {111} ausgedrückt. Die Schlüsselverwaltungsvorrichtung 100 schreibt keine NRPs über die absteigenden Knoten des Knotens T403 auf das Aufzeichnungsmedium.
  • 2.1 Struktur des Schutzsystems für digitale Erzeugnisse 10b
  • Das Schutzsystem für digitale Erzeugnisse 10b weist eine ähnliche Struktur auf wie das Schutzsystem für digitale Erzeugnisse 10. Hier werden die Merkmale des Schutzsystems für digitale Erzeugnisse 10b beschrieben. die sich vom Schutzsystem für digitale Erzeugnisse 10 unterscheiden.
  • In der in 19 gezeigten zweiten Ausführungsform sind die Benutzervorrichtungen 1 bis 8 und die Benutzervorrichtung 12 widerrufen.
  • 2.1.1 Schlüsselverwaltungsvorrichtung 100
  • Die Schlüsselverwaltungsvorrichtung 100 des Schutzsystems für digitale Erzeugnisse 10b weist eine ähnliche Struktur wie diejenige auf, die in der ersten Ausführungsform beschrieben worden ist. Hier werden die Merkmale der Schlüsselverwaltungsvorrichtung 100 in der zweiten Ausführungsform beschrieben, die sich von der Schlüsselverwaltungsvorrichtung 100 in der ersten Ausführungsform unterscheiden.
  • (1) Baumstruktur-Speichereinheit 102
  • Die Baumstruktur-Speichereinheit 102 weist als Beispiel eine in 20 gezeigte Baumstrukturtabelle D400 statt der Baumstrukturtabelle D100 auf.
  • Die Baumstrukturtabelle D400 entspricht einer Baumstruktur T400, die als Beispiel in 19 gezeigt ist, und ist eine Datenstruktur zum Ausdrücken der Baumstruktur T400.
  • Die Baumstrukturtabelle D400 enthält eine Anzahl von Elementen von Knoteninformationen, die gleich der Anzahl von Knoten in der Baumstruktur T400 ist. Die Elemente der Knoteninformationen entsprechen jeweils den Knoten in der Baumstruktur T400.
  • Jedes Element der Knoteninformationen enthält eine Knotenbezeichnung, einen Vorrichtungsschlüssel, ein Widerruf-Flag und ein NRP.
  • Die Knotenbezeichnungen, Vorrichtungsschlüssel und Widerruf-Flags sind in der ersten Ausführungsform beschrieben, daher werden deren Beschreibungen hier weggelassen.
  • Das NRP besteht aus drei Bits. Das höchste Bit, wie oben beschrieben, gibt an, dass alle Benutzervorrichtungen, die den absteigenden, durch die entsprechende Knotenbezeichnung angegebenen Knoten zugewiesen sind, widerrufene Vorrichtungen sind. Der Inhalt der niedrigeren zwei Bits ist der gleiche wie die NRPs, die in der ersten Ausführungsform beschrieben worden sind.
  • (2) Generierungseinheit für Schlüsselinformationen-Header 106
  • Wenn das Kopf-Bit des NRP "1" ist, generiert die Generierungseinheit für Schlüsselinformationen-Header 106 ein NRP, das angibt, dass alle Benutzervorrichtungen, die den absteigenden Knoten des Knotens zugewiesen sind, widerrufene Vorrichtungen sind, und gibt das generierte NRP an die Schlüsselinformationen-Aufzeichnungsvorrichtung 200 aus. Es ist anzumerken, dass die Generierung des NRP später ausführlich beschrieben wird.
  • Die Generierungseinheit für Schlüsselinformationen-Header 106 generiert zum Beispiel Header-Informationen D500, die in 21 gezeigt sind. Die Header-Informationen D500 bestehen aus NRPs {011}, {111}, {010}, {001} und {001}, die in den Header-Informationen D500 in der angegebenen Reihenfolge enthalten sind. Des Weiteren, wie in 21 gezeigt, sind die NRPs {011}, {111}, {010}, {001} und {001} jeweils in Positionen angeordnet, die durch "0", "1", "2", "3" und "4" definiert sind.
  • (3) Schlüsselinformationen-Generierungseinheit 107
  • Die Schlüsselinformationen-Generierungseinheit 107 generiert als Beispiel Schlüsselinformationen D600, die in 22 gezeigt sind. Die Schlüsselinformationen D600 enthalten drei verschlüsselte Medienschlüssel. Die verschlüsselten Medienschlüssel werden generiert, indem der Medienschlüssel unter jeweiliger Verwendung von Vorrichtungsschlüsseln KeyD, KeyL und IK11 verschlüsselt wird.
  • Die Position, in der jeder von der Vielzahl von verschlüsselten Medienschlüsseln in den Schlüsselinformationen D600 gespeichert wird, ist gesetzt. Wie in 22 gezeigt, sind die verschlüsselten Medienschlüssel E1 (KeyG, Medienschlüssel), E1 (KeyL, Medienschlüssel) und E1 (IK11, Medienschlüssel) jeweils in Positionen angeordnet, die in den Schlüsselinformationen D600 durch "0", "1" und "2" definiert sind.
  • 2.1.2 Aufzeichnungsvorrichtung 300a
  • Die Aufzeichnungsvorrichtung 300a weist eine ähnliche Struktur auf wie die Aufzeichnungsvorrichtung 300, die in der ersten Ausführungsform beschrieben worden ist. Hier werden die Merkmale der Aufzeichnungsvorrichtung 300a beschrieben, die sich von der Aufzeichnungsvorrichtung 300 unterscheiden.
  • (1) Spezifizierungseinheit 303
  • Die Spezifizierungseinheit 303 spezifiziert die Position X von einem verschlüsselten Medienschlüssel in den Schlüsselinformationen, indem die Elemente der Header-Informationen unter Verwendung der gelesenen Kennungsinformationen und der gelesenen Header-Informationen der Reihe nach von oben geprüft werden. Es ist anzumerken, dass Details der Abläufe zum Spezifizieren der Position X des verschlüsselten Medienschlüssels später beschrieben werden.
  • 2.2 Abläufe des Schutzsystems für digitale Erzeugnisse 10b
  • Die folgende Beschreibung konzentriert sich auf die Merkmale der Abläufe des Schutzsystems für digitale Erzeugnisse 10b, die sich von dem Schutzsystem für digitale Erzeugnisse 10 unterscheiden.
  • 2.1.1 Abläufe zum Generieren von Header-Informationen
  • Hier werden die in 23 bis 26 gezeigten Ablaufdiagramme verwendet, um Abläufe von der Generierungseinheit für Schlüsselinformationen-Header 106 zum Generieren von Header-Informationen zu beschreiben. Es ist anzumerken, dass die hier beschriebenen Abläufe Details von Schritt S153 im Ablaufdiagramm in 11 sind.
  • Die Generierungseinheit für Schlüsselinformationen-Header 106 führt die Schritte S322 bis S327 für jede Schicht ab Schicht 0 bis Schicht 3 durch, und führt des Weiteren die Schritte S323 bis S326 für jeden Zielknoten in jeder Schicht durch.
  • Die Generierungseinheit für Schlüsselinformationen-Header 106 wählt die zwei direkt untergeordneten Knoten des Zielknotens aus (Schritt S323), prüft, ob jeder der zwei ausgewählten Knoten ein angehängtes Widerruf-Flag aufweist oder nicht, um ein NRP zu generieren (Schritt S324), hängt ein Erweiterungs-Bit mit einem Wert "0" an den Kopf des generierten NRP an (Schritt S325) und hängt das NRP, an welches das Erweiterungs-Bit angehängt worden ist, an die Knoteninformationen an, die dem Zielknoten in der Baumstrukturtabelle entsprechen (Schritt S326).
  • Somit, nachdem die Wiederholung der Schritte S321 bis S328 beendet ist, wird ein NRP an jedes Element der Knoteninformationen auf die gleiche Weise angehängt wie in der ersten Ausführungsform beschrieben. Hier wird ein Wert "0" (ein Bit) an den Kopf jedes NRP angehängt.
  • Als Nächstes führt die Generierungseinheit für Schlüsselinformationen-Header 106 die Schritte S330 bis S335 für jede Schicht ab Schicht 3 bis Schicht 0 durch, und führt des Weiteren die Schritte S331 bis S334 für jeden Zielknoten in jeder Schicht durch.
  • Die Generierungseinheit für Schlüsselinformationen-Header 106 wählt die zwei Knoten aus, die sich direkt darunter befinden und mit dem Zielknoten verbunden sind (Schritt S331), und prüft, ob an jeden der zwei ausgewählten Knoten ein Widerruf-Flag {111} angehängt ist oder nicht. Wenn die zwei ausgewählten Knoten Blätter sind, prüft die Generierungseinheit für Schlüsselinformationen-Header 106, ob ein Widerruf-Flag an beide der ausgewählten Knoten angehängt ist (Schritt S332).
  • Nur wenn an beide der ausgewählten untergeordneten Knoten NRPs {111} angehängt sind, oder in dem Fall, dass die zwei ausgewählten Knoten Blätter sind, nur wenn an beide der zwei ausgewählten untergeordneten Knoten ein Widerruf-Flag angehängt ist (Schritt S333), überschreibt die Generierungseinheit für Schlüsselinformationen-Header 106 das Kopf-Bit des an den Zielknoten angehängten NRP mit "1" (Schritt S334).
  • Nachdem die Generierungseinheit für Schlüsselinformationen-Header 106 die Wiederholung der Schritte S329 bis S336 beendet hat, wird {111} auf diese Weise an den übergeordneten Knoten der zwei untergeordneten Knoten mit dem NRP {111} angehängt.
  • Als Nächstes führt die Generierungseinheit für Schlüsselinformationen-Header 106 die Schritte S338 bis S343 für jede Schicht ab Schicht 2 bis Schicht 0 durch, und führt des Weiteren die Schritte S339 bis S342 für jeden Zielknoten in jeder Schicht durch.
  • Die Generierungseinheit für Schlüsselinformationen-Header 106 wählt die zwei direkt untergeordneten Knoten des Zielknotens aus (Schritt S339) und prüft, ob jeder der zwei ausgewählten Knoten ein daran angehängtes Widerrufmuster {111} aufweist oder nicht (Schritt S340).
  • Nur wenn beide der ausgewählten niedrigeren Knoten daran angehängte Widerrufmuster {111} aufweisen (Schritt S341), löscht die Generierungseinheit für Schlüsselinformationen-Header 106 die jeweiligen NRPs, die an die ausgewählten zwei niedrigeren Knoten angehängt sind, aus der Baumstrukturtabelle (Schritt S342).
  • Als Nächstes liest die Generierungseinheit für Schlüsselinformationen-Header 106 die NRPs, die in der Baumstrukturtabelle der Reihe nach gespeichert sind, und gibt sie aus (Schritt S345).
  • Wenn das Kopf-Bit eines NRP "1" ist, wird auf diese Weise ein NRP generiert, das angibt, dass alle Benutzervorrichtungen, die den absteigenden Knoten des Knotens zugewiesen sind, widerrufene Vorrichtungen sind.
  • 2.2.2 Abläufe zum Spezifizieren von Schlüsselinformationen
  • Hier wird das in 27 gezeigte Ablaufdiagramm verwendet, um Abläufe von der Spezifizierungseinheit 303 in der Aufzeichnungsvorrichtung 300a zum Spezifizieren eines verschlüsselten Medienschlüssels aus den Schlüsselinformationen zu beschreiben, die auf dem Aufzeichnungsmedium 500b gespeichert sind. Es ist anzumerken, dass die hier beschriebenen Abläufe die Details von Schritt S172 in dem in 11 gezeigten Ablaufdiagramm sind.
  • Es ist anzumerken, dass die Abläufe von der Spezifizierungseinheit 303 zum Spezifizieren eines verschlüsselten Medienschlüssels denjenigen ähnlich sind, die in der ersten Ausführungsform beschrieben worden sind, weshalb sich die folgende Beschreibung auf diejenigen Merkmale der Spezifizierungseinheit 3030 konzentriert, die sich von denen der ersten Ausführungsform unterscheiden.
  • Wenn Wert B = 0 (Schritt S303), zählt die Spezifizierungseinheit 303 die Anzahl von NRPs von den bisher geprüften NRPs, deren niedrigere zwei Bits nicht alle den Wert "1" haben, und setzt den gewählten Wert als die Variable X. Die auf diese Weise erlangte Variable X gibt die Position des verschlüsselten Medienschlüssels an (Schritt S307a). Dann beendet die Spezifizierungseinheit 303 die Verarbeitung.
  • Wenn Wert B = 1 (Schritt S303), zählt die Spezifizierungseinheit 303 alle "Einsen" in den W NRPs in der Schicht i. NRPs, deren höchstes Bit "1" ist, werden jedoch nicht gezählt. Der gezählte Wert wird in der Variablen W gesetzt. Die auf diese Weise erlangte Variable W gibt die Anzahl von NRPs in der nächsten Schicht i + 1 an (Schritt S304a).
  • Als Nächstes zählt die Spezifizierungseinheit 303 die Anzahl von "Einsen" ab dem ersten NRP in Schicht i bis zu dem NRP der entsprechenden Bit-Position und setzt den gezählten Wert in der Variablen A. Hier wird der Wert der entsprechenden Bit-Position nicht gezählt. Die auf diese Weise erlangte Variable A gibt die Position des NRP aus den NRPs in der nächsten Schicht i + 1 an, die sich auf die Benutzervorrichtung selbst bezieht (Schritt S305a).
  • 2..3 Spezifisches Beispiel von Abläufen zum Spezifizieren von Schlüsselinformafionen
  • Im Folgenden wird ein spezifisches Beispiel von Abläufen von der nicht-widerrufenen Benutzervorrichtung 10, die in 19 gezeigt ist, bis zum Spezifizieren eines verschlüsselten Medienschlüssels unter Verwendung der Header-Informationen und der Schlüsselinformationen beschrieben, die in 21 und 22 gezeigt sind. Hier wird angenommen, dass der Benutzervorrichtung 10 die Kennungsinformationen "1001" und Vorrichtungsschlüssel "KeyA", "KeyC", "KeyF", "KeyL" und "IK10" zugewiesen sind.
  • <Schritt 1> Da der Wert des höchsten Bits der Kennungsinformationen "1001", die der Benutzervorrichtung 10 zugewiesen sind, "1" ist, prüft die Spezifizierungseinheit 303 das rechte Bit der zwei niedrigeren Bits des ersten NRP {011} (Schritt S303).
  • <Schritt 2> Da der Wert des rechten Bits der zwei niedrigeren Bits des ersten NRP {011} "1" ist, setzt die Spezifizierungseinheit 303 die Analyse fort (Schritt S303, B = 1).
  • <Schritt 3> Die Spezifizierungseinheit 303 zählt die Anzahl von "Einsen" in dem NRP {11} in den zwei niedrigeren Bits des ersten NRP {011} in Schicht 0. Da der gezählte Wert "2" ist, weiß die Spezifizierungseinheit 303, dass in der nächsten Schicht 1 zwei NRPs vorhanden sind (Schritt S304a).
  • <Schritt 4> Die Spezifizierungseinheit 303 zählt die Anzahl von "Einsen" in den zwei niedrigeren Bits des NRP {011} bis zu der entsprechenden Bit-Position. Es ist anzumerken, dass der Wert der entsprechenden Bit-Position nicht gezählt wird. Da der gezählte Wert "1" ist, befindet sich das NRP, das der nächsten Schicht 1 entspricht, in Position 1 in Schicht 1 (Schritt S305).
  • <Schritt 5> Da der Wert des zweithöchsten Bits der Kennungsinformationen "1001" "0" ist, prüft die Spezifizierungseinheit 303 als Nächstes das linke Bit des ersten NRP {010} in Schicht 1 (Schritt S303).
  • <Schritt 6> Da der Wert des linken Bits der zwei niedrigeren Bits des ersten NRP {010} in Schicht 1 "1" ist, fährt die Spezifizierungseinheit 303 hier mit der Analyse fort (Schritt S303, B = 1).
  • <Schritt 7> Die Spezifizierungseinheit 303 zählt die Anzahl von "Einsen" in den zwei niedrigeren Bits der zwei NRPs {111} und {010} in Schicht 1. Es ist anzumerken, dass NRPs, deren höchstes Bit "1" ist, nicht gezählt werden. Da der gezählte Wert "1" ist, weiß die Spezifizierungseinheit 303, dass in der nächsten Schicht 2 ein NRP vorhanden ist (Schritt S304a).
  • <Schritt 8> Die Spezifizierungseinheit 303 zählt die Anzahl von "Einsen" in dem NRP bis zu der entsprechenden Bit-Position. Es ist anzumerken, dass der Wert der entsprechenden Bit-Position nicht gezählt wird. Da der gezählte Wert "0" ist, befindet sich die Position des entsprechenden NRP in der nächsten Schicht 2 in Position 0 in Schicht 2 (Schritt S305a).
  • <Schritt 9> Da der Wert des dritten Bits der Kennungsinformationen "1001" "0" ist, prüft die Spezifizierungseinheit 303 das linke Bit der zwei niedrigeren Bits des 0-ten NRP {001} in Schicht 2 (Schritt S303).
  • <Schritt 10> Da der Wert des linken Bits der zwei niedrigeren Bits des 0-ten NRP in Schicht 2 "0" ist, beendet die Spezifizierungseinheit 303 die Analyse hier (Schritt S303, B = 0).
  • <Schritt 11> Die Spezifizierungseinheit 303 zählt die Anzahl von NRPs von den bisher analysierten NRPS, deren Bits nicht alle den Wert "1" aufweisen. Es ist anzumerken, dass das zuletzt geprüfte NRP nicht gezählt wird. Da der gezählte Wert "1" ist, befindet sich die Position des verschlüsselte Medienschlüssels in Position 1 in den Schlüsselinformationen (Schritt S307a}.
  • <Schritt 12> Wie in 22 gezeigt, ist der verschlüsselte Medienschlüssel, der in Position 1 in den Schlüsselinformationen gespeichert ist, E1 (KeyL, Medienschlüssel).
  • Die Benutzervorrichtung 10 hat den KeyL. Dementsprechend ist die Benutzervorrichtung 10 in der Lage, den Medienschlüssel durch Entschlüsseln des verschlüsselten Medienschlüssels unter Verwendung des KeyL zu erlangen
  • In der oben beschriebenen zweiten Ausführungsform ist anzumerken, dass, wenn alle Benutzervorrichtungen von absteigenden Knoten eines bestimmten Knotens widerrufen sind, das hinzugefügte Bit "1" ist. In dem Fall einer Baumstruktur, in der die Schichtnummer der Blätter variiert, kann das hinzugefügte Bit "1" jedoch auch als ein Flag verwendet werden, welches das Datenendgerät (terminal) angibt.
  • 3. Dritte Ausführungsform
  • In der zweiten Ausführungsform wurde ein Verfahren gezeigt, das die Größe der Header-Informationen weiter reduziert, wenn widerrufene Datenendgeräte einseitig um ein bestimmtes Blatt auftreten, indem ein Bit zu dem Kopf eines NRP eines Knotens hinzugefügt wird, um anzugeben, dass alle Abkömmlinge widerrufene Datenendgeräte sind.
  • In der dritten Ausführungsform wird statt des Hinzufügens eines Bits zu dem NRP ein NRP mit einem spezifischen Muster {00} verwendet, um festzustellen, ob alle Abkömmlinge eines Knotens widerrufene Datenendgeräte sind. Hier wird {00} verwendet, weil es in keiner der Schichten, mit Ausnahme der Schicht 0, anderweitig verwendet wird. Im Folgenden wird ein (nicht dargestelltes) Schutzsystem für digitale Erzeugnisse 10c beschrieben, das dementsprechend in der Lage ist, die Größe der Header-Informationen im Vergleich mit der zweiten Ausführungsform weiter zu reduzieren.
  • Wie in 28 gezeigt, sind hier die Benutzervorrichtung 1 bis Benutzervorrichtung 8 und Benutzervorrichtung 12 widerrufen. In der dritten Ausführungsform sind die NRPs wie in der ersten Ausführungsform gezeigt, aber wenn alle Benutzervorrichtungen von Abkömmlingen eines bestimmten Knotens widerrufene Vorrichtungen sind, wird das NRP des Knotens als {00} ausgedrückt. Da alle Abkömmlinge eines Knotens T501 in 28 widerrufene Vorrichtungen sind, wird das NRP des Knotens T501 als {00} ausgedrückt.
  • 3.1 Struktur des Schutzsystems für digitale Erzeugnisse 10c
  • Das Schutzsystem für digitale Erzeugnisse 10c weist eine ähnliche Struktur auf wie das Schutzsystem für digitale Erzeugnisse 10. Hier werden die Merkmale des Schutzsystems für digitale Erzeugnisse 10c beschrieben, die sich vom Schutzsystem für digitale Erzeugnisse 10 unterscheiden.
  • 3.1.1 Schlüsselverwaltungsvorrichtung 100
  • Die Schlüsselverwaltungsvorrichtung 100 des Schutzsystems für digitale Erzeugnisse 10c weist eine ähnliche Struktur wie diejenige auf, die in der ersten Ausführungsform beschrieben worden ist. Hier werden die Merkmale der Schlüsselverwaltungsvorrichtung 100 in der dritten Ausführungsform beschrieben, die sich von der Schlüsselverwaltungsvorrichtung 100 in der ersten Ausführungsform unterscheiden.
  • (1) Generierungseinheit für Schlüsselinformationen-Header 106
  • Wenn das NRP {00} ist, generiert die Generierungseinheit für Schlüsselinformationen-Header 106 ein NRP, das angibt, dass alle Benutzervorrichtungen, die den absteigenden Knoten des Knotens zugewiesen sind, widerrufene Vorrichtungen sind, und gibt das generierte NRP an die Schlüsselinformationen-Aufzeichnungsvorrichtung 200 aus. Es ist anzumerken, dass das generierte NRP später ausführlich beschrieben wird.
  • Die Generierungseinheit für Schlüsselinformationen-Header 106 generiert zum Beispiel Header-Informationen D700, die in 29 gezeigt sind. Die Header-Informationen D700 bestehen aus NRPs {11}, {00}, {10}, {01} und {01}, die in den Header-Informationen D700 in der angegebenen Reihenfolge enthalten sind. Des Weiteren, wie in 29 gezeigt, sind die NRPs {11}, {00}, {10}, {01} und {01} jeweils in Positionen positioniert, die durch "0", "1", "2", "3" und "4" definiert sind.
  • (2) Schlüsselinformationen-Generierungseinheit 107
  • Die Schlüsselinformationen-Generierungseinheit 107 generiert als Beispiel Schlüsselinformationen D800, die in 30 gezeigt sind. Die Schlüsselinformationen D800 enthalten drei verschlüsselte Medienschlüssel. Die verschlüsselten Medienschlüssel werden generiert, indem der Medienschlüssel unter jeweiliger Verwendung von Vorrichtungsschlüsseln KeyG, KeyL und IK11 verschlüsselt wird.
  • Die Position, in der jeder von der Vielzahl von verschlüsselten Medienschlüsseln in den Schlüsselinformationen D800 gespeichert wird, ist gesetzt. Wie in 30 gezeigt, sind die verschlüsselten Medienschlüssel E1 (KeyG, Medienschlüssel), E1 (KeyL, Medienschlüssel) und E1 (IK11, Medienschlüssel) jeweils in Positionen angeordnet, die in den Schlüsselinformationen D800 durch "0", "1" und "2" definiert sind.
  • 3.1.2 Aufzeichnungsvorrichtung 300a
  • Die Aufzeichnungsvorrichtung 300a in dem Schutzsystem für digitale Erzeugnisse 10c weist eine ähnliche Struktur auf wie die Aufzeichnungsvorrichtung 300, die in der ersten Ausführungsform beschrieben worden ist. Hier werden die Merkmale der Aufzeichnungsvorrichtung 300a beschrieben, die sich von der Aufzeichnungsvorrichtung 300 unterscheiden.
  • (1) Spezifizierungseinheit 303
  • Die Spezifizierungseinheit 303 spezifiziert die Position X von einem verschlüsselten Medienschlüssel in den Schlüsselinformationen, indem die Elemente der Header-Informationen unter Verwendung der gelesenen Kennungsinformationen und der gelesenen Header-Informationen der Reihe nach von oben geprüft werden. Es ist anzumerken, dass Details der Abläufe zum Spezifizieren der Position X des verschlüsselten Medienschlüssels später beschrieben werden.
  • 3.2 Abläufe des Schutzsystems für digitale Erzeugnisse 10c
  • Die folgende Beschreibung konzentriert sich auf die Merkmale der Abläufe des Schutzsystems für digitale Erzeugnisse 10c, die sich von dem Schutzsystem für digitale Erzeugnisse 10 unterscheiden.
  • 3.2.1 Abläufe zum Generieren von Header-Informationen
  • Hier werden die in 31 bis 34 gezeigten Ablaufdiagramme verwendet, um Abläufe von der Generierungseinheit für Schlüsselinformationen-Header 106 zum Generieren von Header-Informationen zu beschreiben. Es ist anzumerken, dass die hier beschriebenen Abläufe Details von Schritt S153 im Ablaufdiagramm in 11 sind.
  • Die Generierungseinheit für Schlüsselinformationen-Header 106 führt die Schritte S322 bis S327 für jede Schicht ab Schicht 0 bis Schicht 3 durch, und führt des Weiteren die Schritte S323 bis S326a für jeden Zielknoten in jeder Schicht durch.
  • Die Generierungseinheit für Schlüsselinformationen-Header 106 wählt die zwei direkt untergeordneten Knoten des Zielknotens aus (Schritt S323), prüft, ob jeder der zwei ausgewählten Knoten ein angehängtes Widerruf-Flag aufweist oder nicht, um ein NRP zu generieren (Schritt S324) und hängt das NRP, an welches das Erweiterungs-Bit angehängt worden ist, an die Knoteninformationen in der Baumstrukturtabelle an, die dem Zielknoten in der Baumstrukturtabelle entsprechen (Schritt S326a).
  • Somit, nachdem die Wiederholung der Schritte S321 bis S328 beendet ist, ist ein NRP an jedes Element der Knoteninformationen auf die gleiche Weise angehängt worden wie in der ersten Ausführungsform beschrieben.
  • Als Nächstes führt die Generierungseinheit für Schlüsselinformationen-Header 106 die Schritte S330 bis 5335 für jede Schicht ab Schicht 3 bis Schicht 0 durch, und führt des Weiteren die Schritte S331 bis S334a für jeden Zielknoten in jeder Schicht durch.
  • Die Generierungseinheit für Schlüsselinformationen-Header 106 wählt die zwei untergeordneten Knoten des Zielknotens aus (Schritt S331), und prüft, ob an jeden der zwei ausgewählten Knoten ein Widerruf-Flag {11} angehängt ist oder nicht. Es ist anzumerken, dass, wenn die zwei ausgewählten Knoten Blätter sind, die Generierungseinheit für Schlüsselinformationen-Header 106 prüft, ob Widerruf-Flags an beide der ausgewählten Knoten angehängt sind (Schritt S332).
  • Nur wenn an beide der ausgewählten untergeordneten Knoten NRPs {11} angehängt sind, oder in dem Fall, dass die zwei ausgewählten Knoten Blätter sind, nur wenn an beide der zwei ausgewählten untergeordneten Knoten Widerruf-Flags angehängt sind (Schritt S333), überschreibt die Generierungseinheit für Schlüsselinformationen-Header 106 das an den Zielknoten angehängte NRP mit "00" (Schritt S334a).
  • Wenn die Generierungseinheit für Schlüsselinformationen-Header 106 die Wiederholung der Schritte S329 bis S336 beendet hat, wird {00} auf diese Weise an den übergeordneten Knoten der zwei untergeordneten Knoten mit den NRPs {11} angehängt.
  • Als Nächstes führt die Generierungseinheit für Schlüsselinformationen-Header 106 die Schritte S338 bis S343 für jede Schicht ab Schicht 2 bis Schicht 0 durch, und führt des Weiteren die Schritte S339 bis S342a für jeden Zielknoten in jeder Schicht durch.
  • Die Generierungseinheit für Schlüsselinformationen-Header 106 wählt die zwei untergeordneten Knoten des Zielknotens aus (Schritt S339) und prüft, ob jeder der zwei ausgewählten Knoten ein daran angehängtes Widerrufmuster {00} aufweist oder nicht (Schritt S340a).
  • Nur wenn beide der ausgewählten untergeordneten Knoten daran angehängte Widerrufmuster {00} aufweisen (Schritt S341 a), löscht die Generierungseinheit für Schlüsselinformationen-Header 106 die jeweiligen NRPs, die an die ausgewählten zwei untergeordneten Knoten angehängt sind, aus der Baumstrukturtabelle (Schritt S342a).
  • Als Nächstes liest die Generierungseinheit für Schlüsselinformationen-Header 106 die NRPs, die in der Baumstrukturtabelle der Reihe nach gespeichert sind, und gibt sie aus (Schritt S345).
  • Wenn ein NRP {00} ist, wird auf diese Weise ein NRP generiert, das angibt, dass alle Benutzervorrichtungen, die den absteigenden Knoten des Knotens zugewiesen sind, widerrufene Vorrichtungen sind.
  • 3.2.2 Abläufe zum Spezifizieren von Schlüsselinformationen
  • Hier wird das in 35 gezeigte Ablaufdiagramm verwendet, um Abläufe von der Spezifizierungseinheit 303 in der Aufzeichnungsvorrichtung 300a zum Spezifizieren eines verschlüsselten Medienschlüssels aus den Schlüsselinformationen zu beschreiben, die auf dem Aufzeichnungsmedium 500b gespeichert sind. Es ist anzumerken, dass die hier beschriebenen Abläufe die Details von Schritt S172 in dem in 11 gezeigten Ablaufdiagramm sind.
  • Es ist anzumerken, dass die Abläufe von der Spezifizierungseinheit 303 zum Spezifizieren eines verschlüsselten Medienschlüssels denjenigen ähnlich sind, die in der ersten Ausführungsform beschrieben worden sind, weshalb sich die folgende Beschreibung auf die Merkmale der Abläufe konzentriert, die sich von der ersten Ausführungsform unterscheiden.
  • Wenn Wert B = 0 (Schritt S303), zählt die Spezifizierungseinheit 303 die Anzahl von NRPs von den bisher geprüften NRPs, deren Bits nicht alle den Wert "1" haben und nicht alle den Wert "0" haben. Es ist anzumerken, dass die Anzahl der NRPs, deren Bits alle "0" sind, nur für Schicht 0 gezählt werden. Die Spezifizierungseinheit 303 setzt den gezählten Wert in der Variablen X. Die auf diese Weise erlangte Variable X gibt die Position des verschlüsselten Medienschlüssels an. Des Weiteren ist die Variable an diesem Punkt das Element der Vorrichtungsschlüssel-Identifizierungsinformationen, das den Vorrichtungsschlüssel identifiziert (Schritt S307b). Dann beendet die Spezifizierungseinheit 303 die Verarbeitung.
  • 3.2.3 Spezifisches Beispiel von Abläufen zum Spezifizieren von Schlüsselinformationen
  • Im Folgenden wird ein spezifisches Beispiel von Abläufen von der nicht-widerrufenen Benutzervorrichtung 10, die in 28 gezeigt ist, bis zum Spezifizieren eines verschlüsselten Medienschlüssels unter Verwendung der Header-Informationen und der Schlüsselinformationen beschrieben, die in 29 und 30 gezeigt sind. Hier wird angenommen, dass der Benutzervorrichtung 10 die Kennungsinformationen "1001" und Vorrichtungsschlüssel "KeyA", "KeyC", "KeyF", "KeyL" und "IK10" zugewiesen sind.
  • <Schritt 1> Da der Wert des höchsten Bits der Kennungsinformationen "1001", die der Benutzervorrichtung 10 zugewiesen sind, "1" ist, prüft die Spezifizierungseinheit 303 das rechte Bit der zwei niedrigeren Bits des ersten NRP {11} (Schritt S303).
  • <Schritt 2> Da der Wert des rechten Bits des ersten NRP {11} "1" ist, setzt die Spezifizierungseinheit 303 die Analyse fort (Schritt S303, B = 1).
  • <Schritt 3> Die Spezifizierungseinheit 303 zählt die Anzahl von "Einsen" in dem NRP {11} in Schicht 0. Da der gezählte Wert "2" ist, weiß die Spezifizierungseinheit 303, dass in der nächsten Schicht 1 zwei NRPs vorhanden sind (Schritt S304).
  • <Schritt 4> Die Spezifizierungseinheit 303 zählt die Anzahl von "Einsen" in den NRPs bis zu der entsprechenden Bit-Position. Es ist anzumerken, dass der Wert der entsprechenden Bit-Position nicht gezählt wird. Da der gezählte Wert "1" ist, befindet sich das entsprechende NRP in der nächsten Schicht 1 in Position 1 in Schicht 1 (Schritt S305).
  • <Schritt 5> Da der Wert des zweithöchsten Bits der Kennungsinformationen "1001" "1" ist, prüft die Spezifizierungseinheit 303 als Nächstes das rechte Bit des ersten NRP {10} in Schicht 1 (Schritt S303).
  • <Schritt 6> Da der Wert des rechten Bits des ersten NRP {10} in Schicht 1 "0" ist, beendet die Spezifizierungseinheit 303 die Analyse hier (Schritt S303, B = 1).
  • <Schritt 7> Die Spezifizierungseinheit 303 zählt die Anzahl von "Einsen" in den zwei NRPs in Schicht 1. Es ist anzumerken, dass das NRP {00} nicht gezählt wird. Da der gezählte Wert "1" ist, weiß die Spezifizierungseinheit 303, dass in der nächsten Schicht 2 ein NRP vorhanden ist (Schritt S304).
  • <Schritt 8> Die Spezifizierungseinheit 303 zählt die Anzahl von "Einsen" in dem NRP bis zu der entsprechenden Bit-Position. Es ist anzumerken, dass der Wert der entsprechenden Bit-Position nicht gezählt wird. Da der gezählte Wert "0" ist, befindet sich die Position des entsprechenden NRP in der nächsten Schicht 2 in Position 0 in Schicht 2 (Schritt S305).
  • <Schritt 9> Da der Wert des dritten Bits der Kennungsinformationen "1001" "0" ist, prüft die Spezifizierungseinheit 303 das linke Bit der zwei niedrigeren Bits des NRP {001} in Schicht 2 (Schritt S303).
  • <Schritt 10> Da der Wert des linken Bits der zwei niedrigeren Bits des 0-ten NRP in Schicht 2 "0" ist, beendet die Spezifizierungseinheit 303 die Analyse hier (Schritt S303, B = 0).
  • <Schritt 11> Die Spezifizierungseinheit 303 zählt die Anzahl von NRPs von den bisher analysierten NRPS, deren Bits nicht alle den Wert "1" aufweisen. Es ist anzumerken, dass das zuletzt geprüfte NRP nicht gezählt wird. Da der gezählte Wert "1" ist, befindet sich die Position des verschlüsselte Medienschlüssels in Position 1 in den Schlüsselinformationen.
  • <Schritt 12> Wie in 30 gezeigt, ist der verschlüsselte Medienschlüssel, der in Position 1 in den Schlüsselinformationen gespeichert ist, E1 (KeyL, Medienschlüssel).
  • Die Benutzervorrichtung 10 hat den KeyL. Dementsprechend ist die Benutzervorrichtung 10 in der Lage, den Medienschlüssel durch Entschlüsseln des verschlüsselten Medienschlüssels unter Verwendung des KeyL zu erlangen
  • 4. Vierte Ausführungsform
  • In der ersten Ausführungsform sind NRPs in der Reihenfolge von der obersten Schicht zur untersten Schicht angeordnet, und NRPs der gleichen Schicht sind in der Reihenfolge von links nach rechts angeordnet.
  • In der vierten Ausführungsform wird ein (nicht dargestelltes) Schutzsystem für digitale Erzeugnisse 10d beschrieben, das NRPs in einer anderen Reihenfolge ausgibt.
  • 4.1 Struktur des Schutzsystems für digitale Erzeugnisse 10d
  • Das Schutzsystem für digitale Erzeugnisse 10d weist eine ähnliche Struktur auf wie das Schutzsystem für digitale Erzeugnisse 10. Hier werden die Merkmale des Schutzsystems für digitale Erzeugnisse 10d beschrieben, die sich vom Schutzsystem für digitale Erzeugnisse 10 unterscheiden.
  • 4.1.1 Schlüsselverwaltungsvorrichtung 100
  • Die Schlüsselverwaltungsvorrichtung 100 des Schutzsystems für digitale Erzeugnisse 10d weist eine ähnliche Struktur wie diejenige auf, die in der ersten Ausführungsform beschrieben worden ist. Hier werden die Merkmale der Schlüsselverwaltungsvorrichtung 100 in der zweiten Ausführungsform beschrieben, die sich von der Schlüsselverwaltungsvorrichtung 100 in der ersten Ausführungsform unterscheiden
  • (1) Baumstruktur-Speichereinheit 102
  • Insbesondere besteht die Baumstruktur-Speichereinheit 102 aus einer Festplatteneinheit und weist, wie als Beispiel in 73 gezeigt, eine Baumstrukturtabelle D1000 auf.
  • Die Baumstrukturtabelle D1000 entspricht einer Baumstruktur T600, die in 36 als ein Beispiel gezeigt ist, und ist eine Datenstruktur zum Ausdrücken der Baumstruktur T600. Wie später beschrieben wird, wird die Datenstruktur zum Ausdrücken der Baumstruktur T600 von der Baumstruktur-Konstruktionseinheit 101 als die Baumstrukturtabelle D1000 generiert und in die Baumstruktur-Speichereinheit 102 geschrieben.
  • <Baumstruktur T600>
  • Die Baumstruktur T600, wie in 36 gezeigt, ist ein binärer Baum mit fünf Schichten: Schicht 0 bis Schicht 4.
  • Die Anzahl der in jeder Schicht enthaltenen Knoten ist die gleiche wie bei der Baumstruktur T100. Des Weiteren sind die Zahlen, die den Kanten von den Knoten an der oberen Seite zu den Knoten an der unteren Seite zugewiesen sind, die gleichen wie in der Baumstruktur T100. Mit einem Kreuz (x) markierte Knoten sind widerrufene Knoten.
  • Die Knotenbezeichnung des Knotens, der die Wurzel der Baumstruktur T600 ist, ist leer. Die Knotenbezeichnungen der anderen Knoten sind die gleichen wie in der Baumstruktur T100.
  • Jede Knotenbezeichnung ist ein vierstelliger Ausdruck. Die Knotenbezeichnung des Knotens, der die Wurzel ist, sind vier Leerstellen. Eine Knotenbezeichnung "0" ist spe ziel) das Zeichen "0" + eine Leerstelle + eine Leerstelle + eine Leerstelle. Eine Knotenbezeichnung "00" ist das Zeichen "0" + das Zeichen "0" + eine Leerstelle + eine Leerstelle. Eine Knotenbezeichnung "101" ist das Zeichen "1" + das Zeichen "0" + das Zeichen "1" + eine Leerstelle. Eine Knotenbezeichnung "1111" ist das Zeichen "1" + das Zeichen "1" + das Zeichen "1" + das Zeichen "1". Die anderen Knotenbezeichnungen werden auf ähnliche Weise gebildet.
  • In der Baumstruktur T600 geben "{10}" und dergleichen in der Nähe jedes Knotens NRPs an. Des Weiteren geben Zahlen in Kreisen in der Nähe jedes Knotens die Reihenfolge an, in der die NRPs ausgegeben werden.
  • <Baumstruktur-Tabelle D1000>
  • Die Baumstrukturtabelle D1000 enthält eine Anzahl von Knoteninformationen-Elementen, die der Anzahl den Knoten in der Baumstruktur T1000 entspricht. Jedes Knoteninformationen-Element entspricht einem der Knoten in der Baumstruktur T1000.
  • Jedes Knoteninformationen-Element enthält einen Vorrichtungsschlüssel und ein Widerruf-Flag. Knotenbezeichnungen, Vorrichtungsschlüssel und Widerruf-Flags sind die gleichen wie in der Baumstrukturtabelle D100, daher wird ihre Beschreibung hier weggelassen.
  • Jedes Knoteninformationen-Element wird in der Baumstrukturtabelle D1000 in einer Reihenfolge gespeichert, die von der folgenden Reihenfolgeregel 2 gezeigt wird. Diese Reihenfolgeregel 2 wird angewendet, wenn Knoteninformationen von den Aufzeichnungsvorrichtungen 300a usw. und den Wiedergabevorrichtungen 400a usw. der Reihe nach aus der Baumstrukturtabelle D1000 gelesen werden.
    • (a) Das Knoteninformationen-Element, das dem Knoten entspricht, der die Wurzel ist, wird am Anfang der Baumstrukturtabelle D1000 gespeichert.
    • (b) Nachdem ein Knoteninformationen-Element, das einem bestimmten Knoten entspricht, in der Baumstrukturtabelle D1000 gespeichert worden ist, werden die Knoteninformationen in der folgenden Weise angeordnet, wenn der Knoten zwei unter geordnete Knoten aufweist. Knoteninformationen-Elemente, die jeweils jedem des linken Knotens der zwei untergeordneten Knoten und allen weiteren untergeordneten linken Knoten auf der gleichen Kante entsprechen, werden gespeichert. Dann werden Knoteninformationen-Elemente, die jeweils dem rechten Knoten der zwei untergeordneten Knoten und allen weiteren rechten Knoten, die dem rechten Knoten untergeordnet sind, gespeichert.
    • (c) Innerhalb (b) wird (b) nochmals angewendet.
  • Insbesondere werden die Knoteninformationen-Elemente in der folgenden Reihenfolge in der in 37 gezeigten Baumstrukturtabelle D1000 gespeichert: Leerstelle (welche die Wurzel angibt), "0", "00", "000", "0000", "0001", "001", "0010",
    "0011", "01", "010", ..., "11", "110", "1100", "1101", "111", "1110" und "1111".
  • (2) Baumstruktur-Konstruktionseinheit 101
  • Die Baumstruktur-Konstruktionseinheit 101, wie im Folgenden beschrieben, konstruiert eine n-näre Datenstruktur zum Verwalten von Vorrichtungsschlüsseln und speichert die konstruierte Baumstruktur in der Baumstruktur-Speichereinheit 102. Hier ist n eine ganze Zahl, die gleich oder größer als 2 ist. Zum Beispiel ist n = 2.
  • Details der Abläufe von der Baumstruktur-Konstruktianseinheit 101 zum Konstruieren der Baumstruktur und zum Speichern der konstruierten Baumstruktur in der Baumstruktur-Speichereinheit 102 werden später beschrieben.
  • Die Baumstruktur-Konstruktionseinheit 101 generiert unter Verwendung einer Zufallszahl einen Vorrichtungsschlüssel für jeden Knoten in der Baumstruktur und schreibt jeden generierten Vorrichtungsschlüssel den jeweiligen Knoten entsprechend in die Baumstrukturtabelle.
  • (3) Generierungseinheit für Schlüsselinformationen-Header 106
  • Die Generierungseinheit für Schlüsselinformationen-Header 106 generiert eine Vielzahl von NRPs und gibt die generierten NRPs an die Schlüsselinformationen-Aufzeichnungsvorrichtung 200 als Header-Informationen aus. Details der Abläufe zum Generieren der NRPs werden später beschrieben.
  • Ein Beispiel für die Header-Informationen, die von der Generierungseinheit für Schlüsselinformationen-Header 106 generiert werden, ist in 38 gezeigt. Die in 38 gezeigten Header-Informationen D900 bestehen aus NRPs {11}, {11}, {11}, {10}, {01}, {11}, {10}, {10}, {10}, {01}, {11}, die in den Header-Informationen D900 in der angegebenen Reihenfolge enthalten sind.
  • Es ist anzumerken, dass die Position in den Header-Informationen D900, in denen jedes der Knoteninformationenmuster positioniert ist, gesetzt ist. Wie in 38 gezeigt, sind die NRPs {11}, {11}, {11}, {10}, {01}, {11}, {10}, {10}, {10}, {01}, {11} in Positionen angeordnet, die jeweils mit "0", "1", "2", "3", "4", "5", "6", "7", "8", "9" und "10" in den Header-Informationen D900 definiert sind.
  • (4) Schlüsselinformationen-Generierungseinheit 107
  • Die Schlüsselinformationen-Generierungseinheit 107 generiert verschlüsselte Medienschlüssel, indem der Medienschlüssel unter Verwendung jedes Vorrichtungsschlüssels, der einem nicht widerrufenen Knoten entspricht, in der gleichen Reihenfolge verschlüsselt wird, in der die Knoteninformationen-Elemente in der oben beschriebenen Baumstrukturtabelle gespeichert sind, und gibt die generierten verschlüsselten Medienschlüssel als Schlüsselinformationen aus.
  • Im Folgenden wird ein Beispiel der generierten und dann von der Schlüsselinformationen-Generierungseinheit 107 ausgegebenen Schlüsselinformationen gezeigt.
  • Die Schlüsselinformationen bestehen aus verschlüsselten Medienschlüsseln E1 (IK2, Medienschlüssel), E1 (IK3, Medienschlüssel), E1 (IK6, Medienschlüssel), E1 (IK8, Medienschlüssel), E1 (KeyL, Medienschlüssel) und E1 (KeyG, Medienschlüssel), die durch Verschlüsseln des Medienschlüssels jeweils unter Verwendung von Vorrichtungsschlüsseln "IK2", "IK3", "IK6", IK8", "KeyL" und "KeyG" generiert werden. Die verschlüsselten Medienschlüssel E1 (IK2, Medienschlüssel), E1 (IK3, Medienschlüssel), E1 (IK6, Medienschlüssel), E1 (IK8, Medienschlüssel), E1 (KeyL, Medienschlüssel) und E1 (KeyG, Medienschlüssel) sind in den Schlüsselinformationen-Positionen angeordnet, die jeweils durch "0", "1", "2", "3", "4", "5", und "6" "definiert sind.
  • 4.1.2 Aufzeichnungsvorrichtung 300a
  • Die Aufzeichnungsvorrichtung 300a des Schutzsystems für digitale Erzeugnisse 10d weist eine ähnliche Struktur auf wie diejenige, die in der ersten Ausführungsform beschrieben worden ist. Hier werden die Merkmale der Aufzeichnungsvorrichtung 300a in der zweiten Ausführungsform beschrieben, die sich von denjenigen der ersten Ausführungsform unterscheiden.
  • (1) Spezifizierungseinheit 303
  • Die Spezifizierungseinheit 303 spezifiziert die Position X von einem verschlüsselten Medienschlüssel in den Schlüsselinformationen, indem die Elemente der Header-Informationen unter Verwendung der gelesenen Kennungsinformationen und der gelesenen Header-Informationen der Reihe nach von oben geprüft werden. Es ist anzumerken, dass Details der Abläufe zum Spezifizieren der Position X des verschlüsselten Medienschlüssels später beschrieben werden.
  • 4.2 Abläufe des Schutzsystems für digitale Erzeugnisse 10d
  • Die folgende Beschreibung konzentriert sich auf die Merkmale der Abläufe des Schutzsystems für digitale Erzeugnisse 10d, die sich von dem Schutzsystem für digitale Erzeugnisse 10 unterscheiden.
  • 4.2.1 Abläufe zum Konstruieren und Speichern der Baumstruktur
  • Hier wird das Ablaufdiagramm in 39 verwendet, um Abläufe durch die Baumstruktur-Konstruktionseinheit 101 zum Generieren einer Baumstrukturtabelle und Schreiben der Baumstrukturtabelle in die Baumstruktur-Speichereinheit 102 zu beschreiben. Es ist anzumerken, dass die hier beschriebenen Abläufe Details von Schritt S101 im Ablaufdiagramm in der 10 sind.
  • Die Baumstruktur-Konstruktionseinheit 101 generiert ein Knoteninformationen-Element, das eine leere Knotenbezeichnung enthält, und schreibt das generierte Knoteninformationen-Element in die Baumstrukturtabelle (Schritt S401).
  • Als Nächstes wiederholt die Baumstruktur-Konstruktionseinheit 101 die folgenden Schritte S403 bis S404 für die Schicht i (i = 1, 2, 3, 4).
  • Die Baumstruktur-Konstruktionseinheit 101 generiert 2i Zeichenfolgen als Knotenbezeichnungen. Insbesondere, wenn i = 1, generiert die Baumstruktur-Konstruktionseinheit 101 2i = 2 Zeichenfolgen "0" und "1". Wenn i = 2, generiert die Baumstruktur-Konstruktionseinheit 101 22 = 4 Zeichenfolgen "00", "01, "10" und "11". Wenn i = 3, generiert die Baumstruktur-Konstruktionseinheit 101 23 = 8 Zeichenfolgen "000", "001, "010", ... und "111". Wenn i = 4, generiert die Baumstruktur-Konstruktionseinheit 101 24 = 16 Zeichenfolgen "0000", "0001, "0010" und "1111" (Schritt S403). Als Nächstes schreibt die Baumstruktur-Konstruktionseinheit 101 Knoteninformationen-Elemente, von denen jedes eine der generierten Knotenbezeichnungen enthält, in die Baumstrukturtabelle (Schritt S404).
  • Als Nächstes ordnet die Baumstruktur-Konstruktionseinheit 101 die Knoteninformationen-Elemente in der Baumstrukturtabelle in aufsteigender Reihenfolge der Knotenbezeichnungen neu an und überschreibt die Knoteninformationen-Elemente in der Baumstrukturtabelle mit den neu angeordneten Knoteninformationen-Elementen (Schritt S406).
  • Auf diese Weise wird eine Baumstrukturtabelle generiert, wie sie das Beispiel in 37 zeigt. Die generierte Baumstrukturtabelle D1000 enthält die Knoteninformationen-Elemente nach der oben beschriebenen Reihenfolge-Regel 2. Es ist anzumerken, dass auf dieser Stufe die Vorrichtungsschlüssel noch nicht in der Baumstrukturtabelle D1000 aufgezeichnet worden sind.
  • 4.2.2 Abläufe zum Generieren von Header-Informationen
  • Hier werden die Ablaufdiagramme in 40 und 41 verwendet, um Abläufe von der Generierungseinheit für Schlüsselinformationen-Header 106 zum Generieren von Header-Informationen zu beschreiben. Es ist anzumerken, dass die hier beschriebenen Abläufe Details von Schritt S153 im Ablaufdiagramm in 11 sind.
  • Die Generierungseinheit für Schlüsselinformationen-Header 106 versucht, jeweils ein Knoteninformationen-Element aus der Baumstrukturtabelle gemäß der Reihenfolge-Regel 2 zu lesen (Schritt S421).
  • Wenn sie erfasst, dass sie das Lesen aller Knoteninformationen-Elemente beendet hat (Schritt S422), fährt die Generierungseinheit für Schlüsselinformationen-Header 106 mit Schritt S427 fort.
  • Wenn die Generierungseinheit für Schlüsselinformationen-Header 106 nicht erfasst, dass sie das Lesen aller Knoteninformationen-Elemente beendet hat, sondern ein Knoteninformationen-Element lesen kann (Schritt S422), liest die Generierungseinheit für Schlüsselinformationen-Header 106 die zwei Knoteninformationen-Elemente, die den zwei untergeordneten Knoten des Zielknotens entsprechen, der den gelesenen Knoteninformationen entspricht (Schritt S423).
  • Wenn der Zielknoten untergeordnete Knoten aufweist (Schritt S424), prüft die Generierungseinheit für Schlüsselinformationen-Header 106, ob die gelesenen zwei Knoteninformationen-Elemente, die den zwei untergeordneten Knoten entsprechen, daran angehängte Widerruf-Flags aufweisen, und generiert ein NRP (Schritt S425). Dann fügt die Generierungseinheit für Schlüsselinformationen-Header 106 das generierte NRP zu dem gelesenen Knoteninformationen-Element hinzu, das dem Zielknoten entspricht (Schritt S426), und kehrt zum Schritt S421 zurück, um die Verarbeitung zu wiederholen.
  • Wenn der Zielknoten keine niedrigeren Knoten aufweist (Schritt S424), kehrt die Generierungseinheit für Schlüsselinformationen-Header 106 zum Schritt S421 zurück, um die Verarbeitung zu wiederholen.
  • Als Nächstes versucht die Generierungseinheit für Schlüsselinformationen-Header 106, Knoteninformationen-Elemente aus der Baumstrukturtabelle in der Reihenfolge gemäß der Reihenfolge-Regel 2 zu lesen (Schritt S427).
  • Wenn sie erfasst, dass sie das Lesen aller Knoteninformationen-Elemente beendet hat (Schritt S422), beendet die Generierungseinheit für Schlüsselinformationen-Header 106 die Verarbeitung.
  • Wenn die Generierungseinheit für Schlüsselinformationen-Header 106 nicht erfasst, dass sie das Lesen aller Knoteninformationen-Elemente beendet hat, sondern ein Knoteninformationen-Element lesen kann (Schritt S428), prüft die Generierungseinheit für Schlüsselinformationen-Header 106, ob das gelesene Knoteninformationen-Element ein daran angehängtes Widerruf-Flag aufweist, und gibt gegebenenfalls (Schritt S429) das angehängte NRP aus (Schritt S430). Die Generierungseinheit für Schlüsselinformationen-Header 106 kehrt dann zum Schritt S427 zurück, um die Verarbeitung zu wiederholen.
  • Wenn das gelesene Knoteninformationen-Element kein daran angehängtes NRP aufweist (Schritt S429), kehrt die Generierungseinheit für Schlüsselinformationen-Header 106 zum Schritt S427 zurück, um die Verarbeitung zu wiederholen.
  • 4.2.3 Abläufe zum Spezifizieren von Schlüsselinformationen
  • Hier wird das Ablaufdiagramm in 42 verwendet, um Abläufe von der Spezifizierungseinheit 303 der Aufzeichnungsvorrichtung 300a zum Spezifizieren eines verschlüsselten Medienschlüssels aus den Schlüsselinformationen zu beschreiben, die auf dem Aufzeichnungsmedium 500b gespeichert sind. Es ist anzumerken, dass die hier beschriebenen Abläufe die Details von Schritt S172 im Ablaufdiagramm in 11 sind.
  • Es ist ebenfalls anzumerken, dass Abläufe, die von der Spezifizierungseinheit 402 der Wiedergabevorrichtung 400a durchgeführt werden, die gleichen sind wie diejenigen der Spezifizierungseinheit 303, und daher wird deren Beschreibung weggelassen.
  • Die Spezifizierungseinheit 303 weist eine Variable i, eine Variable L, eine Variable X, ein Flag F, einen Wert D und einen Pointer A auf. Die Variable i gibt die Bit-Position der zu prüfenden Kennungsinformationen an. Die Variable L gibt die Schicht an, in der das gegenwärtig geprüfte NRP enthalten ist. Die Variable X speichert die Schicht des Knotens an dem Punkt, an den Kanten auseinander laufen. Das Flag F (ursprünglicher Wert F = 0) dient zur Feststellung, ob ein NRP zu prüfen ist. Der Wert D gibt die Anzahl der Schichten in der Baumstruktur an. Der Pointer A gibt die Position des zu prüfenden NRP an.
  • Die Spezifizierungseinheit 303 setzt Variable i = 0, Variable L = 0, Flag F = 0, Variable X = 0 und Pointer A = 0 (Schritt S1300).
  • Als Nächstes stellt die Spezifizierungseinheit 303 fest, ob die Variable L kleiner als die Zahl der Schichten D – 1 ist. Wenn die Variable L größer oder gleich der Zahl der Schichten D – 1 ist (Schritt S1301), gibt die Spezifizierungseinheit 303 die letzte Schichtnummer der Variablen X in die Variable L ein. Die Variable X ist eine LIFO-Variable und eine Wert-Ausgabe von dieser wird gelöscht. Mit anderen Worten, wenn Schicht 0, Schicht 2 und Schicht 3 der Reihe nach in die Variable X eingegeben werden, wird Schicht 3 zuerst ausgegeben und dann gelöscht und dann wird Schicht 2 ausgegeben (Schritt S1313). Die Spezifizierungseinheit 303 kehrt dann zum Schritt S1301 zurück, um die Verarbeitung zu wiederholen.
  • Wenn die Variable L kleiner als die Zahl der Schichten D – 1 ist (Schritt S1301), stellt die Spezifizierungseinheit 303 fest, ob Variable i = Variable L. Wenn die Variable i nicht gleich der Variablen L ist (Schritt S1302), fährt die Spezifizierungseinheit 303 mit Schritt S1310 fort.
  • Wenn Variable i = Variable L (Schritt S1302), stellt die Spezifizierungseinheit 303 fest, ob F1ag F = 0. Wenn das Flag F nicht gleich 0 ist (Schritt S1303), setzt die Spezifizierungseinheit 303 das Flag F auf 0 (Schritt S1309) und fährt mit Schritt S1310 fort.
  • Wenn Flag F = 0 (Schritt S1303), prüft die Spezifizierungseinheit 303 den Wert B der Bit-Position, die dem A-ten NRP entspricht, entsprechend dem Wert des obersten i-ten Bits der Kennungsinformationen und setzt die Variable i = i + 1 (Schritt S1304).
  • Als Nächstes prüft die Spezifizierungseinheit 303, ob Wert B = 1, und falls nicht (Schritt S1305), stellt sie fest, dass die Vorrichtung, zu der die Kennungsinformationen zugewiesen sind, nicht widerrufen ist und beendet die Verarbeitung.
  • xxx
  • Wenn Wert B = 1 (Schritt S1305), stellt die Spezifizierungseinheit 303 fest, ob Variable i = D – 1, und wenn die Variable i gleich 1 ist (Schritt S1306), stellt sie fest, dass die Vorrichtung, zu der die Kennungsinformationen zugewiesen sind, widerrufen ist und beendet die Verarbeitung.
  • Als Nächstes, wenn Variable i = D – 1 (Schritt S1306), stellt die Spezifizierungseinheit 303 fest, ob das NRP {11} ist und der i – 1-te Werte der Kennungsinformationen "1" ist. Fällt die Feststellung negativ aus (Schritt S1307), fährt die Spezifizierungseinheit 303 mit Schritt S1310 fort.
  • Fällt die Feststellung positiv aus (Schritt S1307), setzt die Spezifizierungseinheit Flag F = 1 (Schritt S1308), setzt L = L + 1 (Schritt S1310), und wenn das NRP {11} ist, speichert die Spezifizierungseinheit die Schichtnummer des NRP in der Variablen X (Schritt S1311). Dann setzt die Spezifizierungseinheit 303A = A + 1 (Schritt S1312) und kehrt zum Schritt S1310 zurück.
  • 5. Fünfte Ausführungsform
  • In der vierten Ausführungsform sind NRPs gemäß Reihenfolge-Regel 2 angeordnet.
  • In der hierin im Folgenden beschriebenen fünften Ausführungsform ordnet ein (nicht dargestelltes) Schutzsystem für digitale Erzeugnisse 10e NRPS auf die gleiche Weise an und gibt sie gemäß der Reihenfolge-Regel 2 aus wie in dem Schutzsystem für digitale Erzeugnisse 10d in der vierten Ausführungsform, wobei die Datenmenge der Header-Informationen auf die gleiche Weise reduziert wird wie in dem Schutzsystem für digitale Erzeugnisse 10b, das in der zweiten Ausführungsform beschrieben worden ist, wenn widerrufene Vorrichtungen einseitig um ein bestimmtes Blatt auftreten.
  • 5.1 Struktur des Schutzsystems für digitale Erzeugnisse 10e
  • Das Schutzsystem für digitale Erzeugnisse 10e weist eine ähnliche Struktur auf wie das Schutzsystem für digitale Erzeugnisse 10d. Hier werden die Merkmale des Schutzsystems für digitale Erzeugnisse 10e beschrieben, die sich vom Schutzsystem für digitale Erzeugnisse 10d unterscheiden.
  • 5.1.1 Schlüsselverwaltungsvorrichtung 100
  • Die Schlüsselverwaltungsvorrichtung 100 des Schutzsystems für digitale Erzeugnisse 10e weist eine ähnliche Struktur wie die Schlüsselverwaltungsvorrichtung 100d auf, die in der vierten Ausführungsform beschrieben worden ist. Hier werden die Merkmale der Schlüsselverwaltungsvorrichtung 100 beschrieben, die sich von der beschriebenen Schlüsselverwaltungsvorrichtung 100d unterscheiden
  • (1) Baumstruktur-Speichereinheit 102
  • Die Baumstruktur-Speichereinheit 102 weist eine Baumstrukturtabelle auf. Die Baumstrukturtabelle in der Baumstruktur-Speichereinheit 102 weist die gleiche Struktur auf wie die Baumstrukturtabelle D1000, die in der vierten Ausführungsform beschrieben worden ist, wobei jedes in der Baumstrukturtabelle enthaltene Knoteninformationen-Element zusätzlich ein NRP enthält.
  • (2) Generierungseinheit für Schlüsselinformationen-Header 106
  • Die Generierungseinheit für Schlüsselinformationen-Header 106 generiert eine Vielzahl von NRPs und gibt die generierten NRPs als Header-Informationen an die Schlüsselinformationen-Aufzeichnungsvorrichtung 200 aus. Jedes NRP besteht aus drei Bits, wie in der zweiten Ausführungsform beschrieben.
  • Details von Abläufen zum Generieren von NRPs werden später beschrieben.
  • 5.1.2 Aufzeichnungsvorrichtung 300a
  • Die Aufzeichnungsvorrichtung 300a des Schutzsystems für digitale Erzeugnisse 10e weist eine ähnliche Struktur wie die Aufzeichnungsvorrichtung 300a auf, die in der vierten Ausführungsform beschrieben worden ist. Hier werden die Merkmale der Aufzeichnungsvorrichtung 300a beschrieben, die sich von der Aufzeichnungsvorrichtung 300a unterscheiden, die in der vierten Ausführungsform beschrieben worden ist.
  • (1) Spezifizierungseinheit 303
  • Die Spezifizierungseinheit 303 spezifiziert die Position X von einem verschlüsselten Medienschlüssel, indem die Elemente der Header-Informationen unter Verwendung der Kennungsinformationen und Header-Informationen der Reihe nach von oben geprüft werden. Es ist anzumerken, dass Details der Abläufe zum Spezifizieren der Position X des verschlüsselten Medienschlüssels später beschrieben werden.
  • 5.2 Abläufe des Schutzsystems für digitale Erzeugnisse 10e
  • Die folgende Beschreibung konzentriert sich auf die Merkmale der Abläufe des Schutzsystems für digitale Erzeugnisse 10e, die sich von dem Schutzsystem für digitale Erzeugnisse 10d unterscheiden.
  • 5.2.1 Abläufe zum Generieren von Header-Informationen
  • Hier werden die Ablaufdiagramme in 43 bis 46 verwendet, um Abläufe von der Generierungseinheit für Schlüsselinformationen-Header 106 zum Generieren von Header-Informationen zu beschreiben. Es ist anzumerken, dass die hier beschriebenen Abläufe Details von Schritt S153 im Ablaufdiagramm in 11 sind.
  • Die Generierungseinheit für Schlüsselinformationen-Header 106 versucht, jeweils ein Knoteninformationen-Element aus der Baumstrukturtabelle gemäß der Reihenfolge-Regel 2 zu lesen (Schritt S451).
  • Wenn sie erfasst, dass sie das Lesen aller Knoteninformationen-Elemente beendet hat (Schritt S452), fährt die Generierungseinheit für Schlüsselinformationen-Header 106 mit Schritt S458 fort.
  • Wenn die Generierungseinheit für Schlüsselinformationen-Header 106 nicht erfasst, dass sie das Lesen aller Knoteninformationen-Elemente beendet hat, sondern ein Knoteninformationen-Element lesen kann (Schritt S452), liest die Generierungseinheit für Schlüsselinformationen-Header 106 die zwei Knoteninformationen-Elemente, die den zwei direkt untergeordneten Knoten des Zielknotens entsprechen, der den gelesenen Knoteninformationen entspricht (Schritt S453).
  • Wenn der Zielknoten untergeordnete Knoten aufweist (Schritt S454), prüft die Generierungseinheit für Schlüsselinformationen-Header 106, ob die gelesenen zwei Knoteninformationen-Elemente, die den zwei untergeordneten Knoten entsprechen, daran angehängte Widerruf-Flags aufweisen, generiert ein NRP (Schritt S455) und hängt ein Erweiterungs-Bit mit dem Wert "0" an den Kopf des generierten NRP an (Schritt S456). Dann fügt die Generierungseinheit für Schlüsselinformationen-Header 106 das generierte NRP, welches das daran angehängte Erweiterungs-Bit aufweist, zu dem gelesenen Knoteninformationen-Element hinzu, das dem Zielknoten entspricht (Schritt S457), und kehrt zum Schritt S451 zurück, um die Verarbeitung zu wiederholen.
  • Wenn der Zielknoten keine untergeordneten Knoten aufweist (Schritt S454), kehrt die Generierungseinheit für Schlüsselinformationen-Header 106 zum Schritt S451 zurück, um die Verarbeitung zu wiederholen.
  • Als Nächstes versucht die Generierungseinheit für Schlüsselinformationen-Header 106, Knoteninformationen-Elemente aus der Baumstrukturtabelle gemäß der Reihenfolge-Regel 2 zu lesen (Schritt S458).
  • Wenn sie erfasst, dass sie das Lesen aller Knoteninformationen-Elemente beendet hat (Schritt S459), fährt die Generierungseinheit für Schlüsselinformationen-Header 106 mit Schritt S465 fort.
  • Wenn die Generierungseinheit für Schlüsselinformationen-Header 106 nicht erfasst, dass sie das Lesen aller Knoteninformationen-Elemente beendet hat, sondern ein Knoteninformationen-Element lesen kann (Schritt S459), liest die Generierungseinheit für Schlüsselinformationen-Header 106 alle Knoteninformationen-Elemente, die allen direkt untergeordneten Knoten des gelesenen Knoteninformationen-Elements entsprechen (Schritt S460).
  • Wenn der Zielknoten untergeordnete Knoten aufweist (Schritt S461), prüft die Generierungseinheit für Schlüsselinformationen-Header 106, ob alle gelesenen Knoteninformationen-Elemente, die allen untergeordneten Knoten entsprechen, angehängte Widerruf-Flags aufweisen (Schritt S462), und nur wenn alle untergeordneten Knoten Widerruf-Flags aufweisen (Schritt S463), überschreibt die Generierungseinheit für Schlüsselinformationen-Header 106 das oberste Bit des NRP, das an das Knoteninformationen-Element angehängt ist, das dem Zielknoten entspricht, mit "1" (Schritt S464).
  • Als Nächstes kehrt die Generierungseinheit für Schlüsselinformationen-Header 106 zum Schritt S458 zurück, um die Verarbeitung zu wiederholen.
  • Wenn der Zielknoten keine untergeordneten Knoten aufweist (Schritt S461), kehrt die Generierungseinheit für Schlüsselinformationen-Header 106 zum Schritt S458 zurück, um die Verarbeitung zu wiederholen.
  • Als Nächstes versucht die Generierungseinheit für Schlüsselinformationen-Header 106, jeweils ein Knoteninformationen-Element aus der Baumstrukturtabelle gemäß der Reihenfolge-Regel 2 zu lesen (Schritt S465).
  • Wenn sie erfasst, dass sie das Lesen aller Knoteninformationen-Elemente beendet hat (Schritt S466), fährt die Generierungseinheit für Schlüsselinformationen-Header 106 mit Schritt S472 fort.
  • Wenn die Generierungseinheit für Schlüsselinformationen-Header 106 nicht erfasst, dass sie das Lesen aller Knoteninformationen-Elemente beendet hat, sondern ein Knoteninformationen-Element lesen kann (Schritt S466), liest die Generierungseinheit für Schlüsselinformationen-Header 106 alle Knoteninformationen-Elemente, die allen untergeordneten Knoten des gelesenen Knoteninformationen-Elements entsprechen (Schritt S467).
  • Wenn der Zielknoten untergeordnete Knoten aufweist (Schritt S468), prüft die Generierungseinheit für Schlüsselinformationen-Header 106, ob alle gelesenen Knoteninformationen-Elemente, die allen untergeordneten Knoten entsprechen, angehängte NRPs {111} aufweisen (Schritt S469), und nur wenn alle untergeordneten Knoten angehängte NRPs {111} aufweisen (Schritt S470), hängt die Generierungseinheit für Schlüsselinformationen-Header 106 ein Lösch-Flag an jedes der Knoteninformationen-Elemente an (Schritt S471).
  • Als Nächstes kehrt die Generierungseinheit für Schlüsselinformationen-Header 106 zum Schritt S465 zurück, um die Verarbeitung zu wiederholen.
  • Wenn der Zielknoten keine untergeordneten Knoten aufweist (Schritt S468), kehrt die Generierungseinheit für Schlüsselinformationen-Header 106 zum Schritt S465 zurück, um die Verarbeitung zu wiederholen.
  • Als Nächstes versucht die Generierungseinheit für Schlüsselinformationen-Header 106, jeweils ein Knoteninformationen-Element aus der Baumstrukturtabelle gemäß der Reihenfolge-Regel 2 zu lesen (Schritt S472).
  • Wenn sie erfasst, dass sie das Lesen aller Knoteninformationen-Elemente beendet hat (Schritt S473), beendet die Generierungseinheit für Schlüsselinformationen-Header 106 die Verarbeitung.
  • Wenn die Generierungseinheit für Schlüsselinformationen-Header 106 nicht erfasst, dass sie das Lesen der Knoteninformationen-Elemente beendet hat, sondern ein Knoteninformationen-Element lesen kann (Schritt S473), prüft die Generierungseinheit für Schlüsselinformationen-Header 106, ob das gelesene Knoteninformationen-Element ein angehängtes NRP aufweist, und prüft gegebenenfalls (Schritt S474), ob ein Lösch-Flag an das gelesene Knoteninformationen-Element angehängt ist. Wenn kein Lösch-Flag daran angehängt ist (Schritt S475), gibt die Generierungseinheit für Schlüsselinformationen-Header 106 das angehängte NRP aus (Schritt S476). Dann kehrt die Generierungseinheit für Schlüsselinformationen-Header 106 zum Schritt S472 zurück, um die Verarbeitung zu wiederholen.
  • Wenn das gelesene Knoteninformationen-Element kein daran angehängtes NRP aufweist (Schritt S474), oder wenn das gelesene Knoteninformationen-Element ein daran angehängtes Lösch-Flag aufweist (Schritt S475) kehrt die Generierungseinheit für Schlüsselinformationen-Header 106 zum Schritt S472 zurück, um die Verarbeitung zu wiederholen.
  • 5.2.2 Abläufe zum Spezifizieren von Schlüsselinformationen
  • Hier wird das Ablaufdiagramm in 47 verwendet, um Abläufe von der Spezifizierungseinheit 303 der Aufzeichnungsvorrichtung 300a zum Spezifizieren eines verschlüsselten Medienschlüssels aus Schlüsselinformationen zu beschreiben, die auf dem Aufzeichnungsmedium 500b gespeichert sind. Es ist anzumerken, dass die hier beschriebenen Abläufe die Details von Schritt S172 im Ablaufdiagramm in 11 sind.
  • Es ist ebenfalls anzumerken, dass Abläufe, die von der Spezifizierungseinheit 402 der Wiedergabevorrichtung 400a durchgeführt werden, die gleichen sind wie diejenigen der Spezifizierungseinheit 303, und daher wird deren Beschreibung weggelassen.
  • Hier werden die Merkmale beschrieben, die sich von dem in 42 gezeigten Ablaufdiagramm unterscheiden.
  • Ähnlich der vierten Ausführungsform weist die Spezifizierungseinheit 303 eine Variable i, eine Variable L, eine Variable X, ein Flag F, einen Wert D und einen Pointer A auf. Die Variable i gibt die Bit-Position der zu prüfenden Kennungsinformationen an. Die Variable L gibt die Schicht an, in der das gegenwärtig geprüfte NRP enthalten ist. Die Variable X speichert die Schicht des Knotens an der Stelle, an der Kanten auseinander laufen. Das Flag F (ursprünglicher Wert F = 0) dient zur Feststellung, ob ein NRP zu prüfen ist. Der Wert D gibt die Anzahl der Schichten in der Baumstruktur an. Der Pointer A gibt die Position des zu prüfenden NRP an.
  • Wenn Wert B = 1 (Schritt S1305), setzt die Spezifizierungseinheit 303, nur wenn das höchste Bit des NRP "1" ist (Schritt S1316), die Variable i = D – 1 und setzt die Variable L = D – 1 (Schritt S1317).
  • Wenn des Weiteren sowohl das NRP {11} ist und das höchste Bit des NRP nicht "1" ist, speichert die Spezifizierungseinheit die Schichtnummer des NRP in der Variablen X (Schritt S1311).
  • 7. Sechste Ausführungsform
  • Im Folgenden wird ein Authentifizierungssystem 1000 als eine weitere Ausführungsform der vorliegenden Erfindung beschrieben.
  • Wie in 52 gezeigt, besteht das Authentifizierungssystem 1000 aus einer Zertifikatsbehörden-Vorrichtung 1100, einer Herstellungsvorrichtung 1200, einer Herstellungsvorrichtung 1300, einer Aufzeichnungsvorrichtung für digitale Erzeugnisse 1400 und einem Personal Computer 1500. Der Personal Computer 1500 besteht aus einer Treibereinheit 1600 und einer Computereinheit 1900, die durch einen Mehrzweck-Kammunikationsweg verbunden 1020 sind.
  • Ein Treiber-Hersteller besitzt die Herstellungsvorrichtung 1200, die mit dem Internet 1010 verbunden ist.
  • In dem Herstellungsprozess für die Treibereinheit 1600 generiert die Herstellungsvorrichtung 1200 einen Treiber für geheime Schlüssel (driver secret key) und einen Treiber für öffentliche Schlüssel (driver public key), die der Treibereinheit 1600 entsprechen, schreibt den generierten Treiber für geheime Schlüssel in einen Speicherbereich in der Treibereinheit 1600, auf den von außerhalb der Treibereinheit 1600 nicht zugegriffen wird, und offenbart den generierten Treiber für öffentliche Schlüssel über das Internet 1010. Des Weiteren stellt die Herstellungsvorrichtung 1200 über das Internet 1010 eine Anforderung an die Zertifikatsbehörden-Vorrichtung 1100, die sich im Besitz einer Public-Key-Zertifikatsbehörde befindet, um ein Public-Key-Zertifikat zu generieren. Die Zertifikatsbehörden-Vorrichtung 1100 generiert ein Public-Key-Zertifikat, das dem Treiber für öffentliche Schlüssel entspricht, und überträgt das generierte Public-Key-Zertifikat über das Internet 1010 an die Herstellungsvorrichtung 1200. Die Herstellungsvorrichtung 1200 erlangt ein Public-Key-Zertifikat, das dem Treiber für öffentliche Schlüssel entspricht, von der Zertifikatsbehörden-Vorrichtung 1100 und schreibt das erlangte Public-Key-Zertifikat in die Treibereinheit 1600. Der Treiberhersteller liefert die Treibereinheit 1600, in die der Treiber für geheime Schlüssel und das Public-Key-Zertifikat des Treibers geschrieben worden sind, an einen Computerhersteller.
  • Der Computerhersteller ist im Besitz der Herstellungsvorrichtung 1300, die mit dem Internet 1010 verbunden ist und die Computereinheit 1900 des Personal Computers 1500 herstellt. In dem Prozess zum Herstellen der Computereinheit 1900 erlangt die Herstellungsvorrichtung 1300 den Treiber für öffentliche Schlüssel, der über das Internet 1010 offenbart worden ist, und schreibt den erlangten Treiber für öffentliche Schlüssel in die Rechnereinheit 1900. Als Nächstes baut der Computerhersteller die bereitgestellte Treibereinheit 1600 und die Computereinheit 1900, in die der Treiber für öffentliche Schlüssel geschrieben worden ist, zusammen, indem die Treibereinheit 1600 und die Computereinheit 1900 mit dem Mehrzweck-Kommunikationspfad 1020 verbunden werden, wodurch der Personal Computer erzeugt wird.
  • Der erzeugte Personal Computer 1500 wird über einen Verkäufer zum Verkauf angeboten und anschließend von einem Benutzer gekauft.
  • Angenommen, an dieser Stelle wird der Satz aus dem Treiber für geheime Schlüssel und dem Treiber für öffentliche Schlüssel von einer unrechtmäßigen dritten Partei preisgegeben. In diesem Fall muss das entsprechende Public-Key-Zertifikat widerrufen werden.
  • Wenn entdeckt wird, dass das Public-Key-Zertifikat widerrufen werden muss, generiert die Zertifikatsbehörden-Vorrichtung 1100 eine CRL, die eine Zertifikatskennung enthält, die das zu widerrufende Public-Key-Zertifikat identifiziert, und überträgt die generierte CRL über das Internet 1010 an die Aufzeichnungsvorrichtung für digitale Erzeugnisse 1400, die sich im Besitz eine Verkäufers von digitalen Erzeugnissen befindet. Die Aufzeichnungsvorrichtung für digitale Erzeugnisse 1400 speichert ein digitales Erzeugnis und schreibt das digitale Erzeugnis und die empfangene CRL auf eine DVD 1800. Die DVD 1800, auf die das digitale Erzeugnis und die CRL geschrieben worden sind, wird zum Verkauf angeboten.
  • Der Benutzer kauft die DVD 1800 und bringt die DVD 1800 in dem Personal Computer 1500 an.
  • Die Computereinheit 1900 des Personal Computers 1500 liest die CRL aus der DVD 1800 über die Treibereinheit 1600, erlangt das Public-Key-Zertifikat von der Treibereinheit 1600 und stellt unter Verwendung der gelesenen CRL fest, ob das erlangte Public-Key-Zertifikat widerrufen ist. Wenn die Feststellung positiv ausfällt, stoppt die Computereinheit 1900 die Nutzung der Treibereinheit 1600. Wenn die Feststellung negativ ausfüllt, authentifiziert die Computereinheit 1900 weiterhin die Treibereinheit 1600 unter Verwendung des intern gespeicherten Treibers für öffentliche Schlüssels und liest, wenn die Treibereinheit 1600 als legal authentifiziert worden ist, das digitale Erzeugnis aus der DVD 1800 über die Treibereinheit 1600. Wenn die Treibereinheit 1600 als unrechtmäßig authentifiziert worden ist, stoppt die Computereinheit 1900 das Lesen des digitalen Erzeugnisses aus der DVD 1800 über die Treibereinheit 1600.
  • 7.1 Struktur der Herstellungsvorrichtung 1200
  • Wie in 53 gezeigt, besteht die Herstellungsvorrichtung 1200 aus einer Informationen-Speichereinheit 1201, einer Eingabeeinheit 1202, einer Anzeigeeinheit 1203, einer Steuereinheit 1204, einer Schreibeinheit 1205 und einer Kommunikationseinheit 1206.
  • Die Herstellungsvorrichtung 1200 ist insbesondere ein Computersystem, das aus einem Mikroprozessor, einem ROM, einem RAM, einer Festplatteneinheit, einer Kommunikationseinheit, einer Anzeigeeinheit, einer Tastatur, einer Maus und so weiter besteht. Die Festplatteneinheit speichert ein Computerprogramm. Die Herstellungsvorrichtung 1200 erfüllt ihre Funktionen über den Mikroprozessor, der in Übereinstimmung mit den Computerprogrammen arbeitet.
  • Wie vorher beschrieben, befindet sich die Herstellungsvorrichtung 1200 im Besitz eines Treiber-Herstellers. In dem Prozess zur Herstellung der Treibereinheit 1600 verbindet der Treiber-Hersteller die Herstellungsvorrichtung 1200 und die teilweise hergestellte Treibereinheit 1600.
  • (1) Informationen-Speichereinheit 1201
  • Die Informationen-Speichereinheit 1201 weist eine Herstellungsinformationen-Tabelle 1211 auf.
  • Wie als Beispiel in 53 gezeigt ist, enthält die Herstellungsinformationen-Tabelle 1211 einen Bereich zum Speichern einer Vielzahl von Herstellungsinformationen-Elementen, von denen jedes aus einer Herstellungsnummer, einem Treiber für geheime Schlüssel, einem Treiber für öffentliche Schlüssel, einem Gültigkeitszeitraum, einem Public-Key-Zertifikat und Zertifikatsignaturdaten besteht.
  • Hier ist die Herstellungsnummer eine Identifizierungsnummer, die eine von dem Treiber-Hersteller hergestellte Treibereinheit eindeutig identifiziert.
  • Der Treiber für geheime Schlüssel ist ein geheimer Schlüssel, der so generiert ist, dass er der Treibereinheit entspricht.
  • Der Treiber für öffentliche Schlüssel ist ein öffentlicher Schlüssel, der so generiert ist, dass er dem Treiber für geheime Schlüssel entspricht.
  • Der Gültigkeitszeitraum enthält ein Startdatum und ein Enddatum für die Nutzung des Treibers für geheime Schlüssel und des Treibers für öffentliche Schlüssel.
  • Das Public-Key-Zertifikat ist ein Zertifikat, das so generiert ist, dass es dem Treiber für öffentliche Schlüssel entspricht, und enthält eine Zertifikatskennung, einen Gültigkeitszeitraum und einen Treiber für öffentliche Schlüssel. Die Zertifikatskennung sind Identifizierungsinformationen zum Identifizieren des Public-Key-Zertifikats. Der Gültigkeitszeitraum ist identisch mit dem vorher beschriebenen. Der Treiber für öffentliche Schlüssel ist ebenfalls identisch mit dem vorher beschriebenen.
  • Die Zertifikatssignatur-Informationen sind Signaturdaten, die auf Basis des Public-Key-Zertifikats generiert worden sind.
  • (2) Eingabeeinheit 1202
  • Die Eingabeeinheit 1202 empfängt die Eingabe der Herstellungsnummer der Treibereinheit 1600 von einer Bedienperson der Herstellungsvorrichtung 1200, empfängt des Weiteren die Eingabe des Gültigkeitszeitraums und gibt die empfangene Herstellungsnummer und den Gültigkeitszeitraum an die Steuereinheit 1204 aus.
  • (3) Steuereinheit 1204
  • Die Steuereinheit 1204 empfängt die Herstellungsnummer und den Gültigkeitszeitraum von der Eingabeeinheit 1202. Nach Empfang der Herstellungsnummer und des Gültigkeitszeitraums generiert die Steuereinheit 1204 eine Zufallszahl, generiert einen Treiber für geheime Schlüssel auf Basis der generierten Zufallszahl und generiert dann einen Treiber für öffentliche Schlüssel auf Basis des generierten Treibers für geheime Schlüssel unter Verwendung einer RSA-Public-Key-Verschlüsselungstechnik.
  • Da die RSA-Public-Key-Verschlüsselungstechnik allgemein bekannt ist, wird ihre Beschreibung hier weggelassen.
  • Als Nächstes gibt die Steuereinheit 1204 eine Public-Key-Zertifikats-Ausgabeanforderung, den empfangenen Gültigkeitszeitraum und den generierten öffentlichen Schlüssel an die Zertifikatsbehörden-Vorrichtung 1100 über die Kommunikationseinheit 1206 und das Internet 1010 aus. Die Anforderung für ein Public-Key-Zertifikat gibt eine Anforderung zum Ausgeben des Public-Key-Zertifikats an.
  • Als Nächstes empfängt die Steuereinheit 1204 das Public-Key-Zertifikat und die Zertifikatsignaturdaten von der Zertifikatsbehörden-Vorrichtung 1100 über das Internet 1010 und die Kommunikationseinheit 1206, generiert Herstellungsinformationen, die aus der Herstellungsnummer, dem Treiber für geheime Schlüssel, dem Treiber für öffentliche Schlüssel, dem Gültigkeitszeitraum, dem Public-Key-Zertifikat und den Zertifikatsignaturdaten bestehen, und schreibt die generierten Herstellungsinformationen in die Herstellungsinformationen-Tabelle 1211 in der Informationen-Speichereinheit 1200.
  • Des Weiteren gibt die Steuereinheit 1204 die Herstellungsnummer, den Treiber für geheime Schlüssel, den Treiber für öffentliche Schlüssel und die Zertifikatsignaturdaten an die Schreibeinheit 1205 aus.
  • Außerdem offenbart die Steuereinheit 1204 die Herstellungsnummer und den Treiber für öffentliche Schlüssel über die Kommunikationseinheit 1206 und das Internet 1010.
  • (4) Schreibeinheit 1205
  • Die Schreibeinheit 1205 wird vom Treiber-Hersteller mit einer (später beschriebenen) Informationen-Speichereinheit 1601 in der Treibereinheit 1600 verbunden.
  • Die Schreibeinheit 1205 empfängt die Herstellungsnummer, den Treiber für geheime Schlüssel, das Public-Key-Zertifikat und die Zertifikatsignaturdaten von der Steuereinheit 1204 und schreibt die empfangene Herstellungsnummer, den Treiber für geheime Schlüssel, das Public-Key-Zertifikat und die Zertifikatsignaturdaten in die Informationen-Speichereinheit 1601 in der Treibereinheit 1600.
  • (5) Kommunikationseinheit 1206
  • Die Kommunikationseinheit 1206 ist mit dem Internet 1010 verbunden und überträgt und empfängt Informationen zwischen externen Vorrichtungen, die mit dem Internet 1010 verbunden sind, und der Steuereinheit 1204.
  • (6) Anzeigeeinheit 1203
  • Die Anzeigeeinheit 1203 zeigt verschiedene Typen von Informationen unter der Steuerung der Steuereinheit 1204 an.
  • 7.2 Struktur der Herstellungsvorrichtung 1300
  • Die Herstellungsvorrichtung 1300, die der Herstellungsvorrichtung 1200 ähnlich ist, ist ein Computersystem, das aus einem Mikroprozessor, einem ROM, einem RAM, einer Festplatteneinheit, einer Kommunikationseinheit, einer Anzeigeeinheit, einer Tastatur, einer Maus und so weiter besteht. Die Festplatteneinheit speichert ein Computerprogramm. Die Herstellungsvorrichtung 1300 erfüllt ihre Funktionen über den Mikroprozessor, der in Übereinstimmung mit den Computerprogrammen arbeitet.
  • Die Herstellungsvorrichtung 1300 ist an das Internet 1010 angeschlossen.
  • Wie vorher beschrieben, befindet sich die Herstellungsvorrichtung 1300 im Besitz des Computer-Herstellers. In dem Prozess zur Herstellung der Computereinheit 1900 verbindet der Computer-Hersteller die Herstellungsvorrichtung 100 und die Computereinheit 1900.
  • Die Herstellungsvorrichtung 1300 erlangt die offenbarte Herstellungsnummer und den Treiber für öffentliche Schlüssel über das Internet 1010 und schreibt die erlangte Herstellungsnummer und den Treiber für öffentliche Schlüssel in eine (später beschriebene) Informationen-Speichereinheit 1901 in der Computereinheit 1900.
  • 7.3 Zertifikatsbehörden-Vorrichtung 1100
  • Wie in 54 gezeigt, besteht die Zertifikatsbehörden-Vorrichtung 1100 aus einer Baumstruktur-Konstruktionseinheit 1101, einer Baumstruktur-Speichereinheit 1102, einer CRL-Generierungseinheit 1103, einer Widerruf-Benachrichtigungseinheit 1104, einer Baumstruktur-Aktualisierungseinheit 1105, einer CRL-Speichereinheit 1106, einer CRL-Übertragungseinheit 1107, einer Zertifikat-Generierungseinheit 1108, einer Zertifikat-Speichereinheit 1109, einer Übertragungs-/Empfangs-Einheit 1110, einer Eingabeeinheit 1111, einer Anzeigeeinheit 1112 und einer Steuereinheit 1113.
  • Diese Vorrichtung ist insbesondere ein Computersystem, das aus einem Mikroprozessor, einem ROM, einem RAM, und so weiter besteht. Die Zertifikatsbehörden-Vorrichtung 1100 erfüllt ihre Funktionen über den Mikroprozessor, der in Übereinstimmung mit den Computerprogrammen arbeitet.
  • Die Zertifikatsbehörden-Vorrichtung 1100 weist eine ähnliche Struktur wie die Schlüssel-Herstellungsvorrichtung 100 auf. Die folgende Beschreibung konzentriert sich auf die Merkmale der Zertifikatsbehörden-Vorrichtung 1100, die sich von der Herstellungsvorrichtung 100 unterscheiden
  • (1) Baumstruktur-Speichereinheit 1102
  • Die Baumstruktur-Speichereinheit 1102 weist eine (nicht dargestellte) Baumstrukturtabelle D1100 auf, die der Baumstrukturtabelle D100 in der Baumstruktur-Speichereinheit 102 ähnlich ist.
  • Die Baumstrukturtabelle D1100 entspricht einer (nicht dargestellten) Baumstruktur T1100.
  • <Baumstruktur T1100>
  • Die Baumstruktur T1100 ist ein binärer Baum, der fünf Schichten aufweist: Schicht 0 bis Schicht 4, und ist die gleiche Baumstruktur wie die in 4 gezeigte Baumstruktur. Die Baumstruktur T1100 wird zum Verwalten von Public-Key-Zertifikatskennungen verwendet.
  • Andererseits wird die Baumstruktur T100 zum Verwalten von Vorrichtungsschlüsseln verwendet, wie vorher beschrieben. Insofern unterscheiden sich die Baumstruktur T1100 und die Baumstruktur T100 in ihrem Nutzungszweck. Die Struktur der Baumstruktur T1100 selbst ist die gleiche wie diejenige des Strukturbaums T100, und daher wird eine ausführliche Beschreibung hier weggelassen.
  • <Baumstrukturtabelle D1100>
  • Die Baumstrukturtabelle D1100 enthält einen Bereich zum Speichern von Knoteninformationen-Elementen, deren Anzahl den Knoten in der Baumstruktur T1100 entspricht. Jedes Knoteninformationen-Element entspricht einem der Knoten in der Baumstruktur T1100.
  • Jedes Knoteninformationen-Element, das einem Knoten, mit Ausnahme von Blättern, in der Baumstrukturtabelle D1100 entspricht, enthält eine Knotenbezeichnung und ein Widerruf-Flag. Jedes Knoteninformationen-Element, das einem Blatt entspricht, enthält eine Knotenbezeichnung, einen Treiber für öffentliche Schlüssel und ein Widerruf-Flag. Hier ist der Treiber für öffentliche Schlüssel von der Herstellungsvorrichtung 1200 empfangen worden, wie später beschrieben wird.
  • Es ist anzumerken, dass, wie vorher beschrieben, jedes in der Baumstrukturtabelle D100 enthaltene Knoteninformationen-Element eine Knotenbezeichnung, einen Vorrichtungsschlüssel und ein Widerruf-Flag enthält. Andererseits enthält jedes in der Baumstrukturtabelle D1100 enthaltene Knoteninformationen-Element eine Knotenbezeichnung und ein Widerruf-Flag, oder enthält eine Knotenbezeichnung, einen Treiber für öffentliche Schlüssel und ein Widerruf-Flag.
  • Die Baumstrukturtabelle D1100 und die Baumstruktur D100 unterscheiden sich in dieser Hinsicht, sind ansonsten aber identisch. Demzufolge wird eine detaillierte Beschreibung der Baumstrukturtabelle D1100 hier weggelassen.
  • (2) Baumstruktur-Konstruktionseinheit 1101
  • Die Baumstruktur-Konstruktionseinheit 1101 weist eine ähnliche Struktur wie die Baumstruktur-Konstruktionseinheit 101 auf.
  • Auf die gleiche Weise wie die Baumstruktur-Konstruktionseinheit 101 konstruiert die Baumstruktur-Konstruktionseinheit 1101 eine n-näre Datenstruktur zum Verwalten von Public-Key-Zertifikatskennungen und speichert die konstruierte Baumstruktur in der Baumstruktur-Speichereinheit 1102. Insbesondere generiert die Baumstruktur-Konstruktionseinheit 1101 auf die gleiche Weise wie die Baumstruktur-Konstruktionseinheit 101 eine Knotenbezeichnung für jedes Knoteninformationen-Element in der Baumstrukturtabelle D1100 und schreibt jede generierte Knotenbezeichnung in das entsprechende Knoteninformationen-Element.
  • Auf diese Weise enthält jedes Knoteninformationen-Element in der Baumstrukturtabelle D1100 nur die Knotenbezeichnung an dem Punkt, an dem die Baumstruktur-Konstruktionseinheit 1101 die Konstruktion der Baumstruktur beendet hat.
  • Es ist anzumerken, dass der Unterschied zwischen der Baumstruktur-Konstruktionseinheit 101 und der Baumstruktur-Konstruktionseinheit 1101 darin besteht, dass, während die Baumstruktur-Konstruktionseinheit 101 einen Vorrichtungsschlüssel aus jedem Knoten in der Baumstruktur generiert und den generierten Vorrichtungsschlüssel dem Knoten entsprechend in die Baumstrukturtabelle schreibt, die Baumstruktur-Konstruktionseinheit 1101 keine Vorrichtungsschlüssel generiert oder Vorrichtungsschlüssel in die Baumstrukturtabelle schreibt.
  • (3) Zertifikat-Speichereinheit 1109
  • Die Zertifikat-Speichereinheit 1109 enthält einen Bereich zum Speichern von wenigstens einem (später beschriebenen) Public-Key-Zertifikat.
  • (4) Zertifikat-Generierungseinheit 1108
  • Die Zertifikats-Generierungseinheit 1108 empfängt eine Public-Key-Zertifikats-Ausgabeanforderung, einen Treiber für öffentliche Schlüssel und einen Gültigkeitszeitraum von der Herstellungsvorrichtung 1200 über das Internet 1010 und die Übertragungs-/Empfangs-Einheit 1110. Die Public-Key-Zertifikats-Ausgabeanforderung gibt eine Anforderung zur Ausgabe eines Public-Key-Zertifikats an.
  • Beim Empfang der Public-Key-Zertifikat-Ausgabeanforderung, des Treibers für öffentliche Schlüssel und des Gültigkeitszeitraums wählt die Zertifikats-Generierungseinheit 1108 ein Knoteninformationen-Element aus, das einem Blatt in der Baumstrukturtabelle D1100 entspricht, die in der Baumstruktur-Speichereinheit 1102 gespeichert ist und keinen Treiber für öffentliche Schlüssel enthält, und schreibt den empfangenen Treiber für öffentliche Schlüssel in das ausgewählte Knoteninformationen-Element.
  • Des Weiteren extrahiert die Zertifikats-Generierungseinheit 1108 die Knotenbezeichnung aus dem ausgewählten Knoteninformationen-Element. Hier wird die extrahierte Knotenbezeichnung zur Zertifikatskennung gemacht, die das Public-Key-Zertifikat identifiziert, das dem empfangenen Treiber für öffentliche Schlüssel entspricht.
  • Auf diese Weise generiert die Zertifikats-Generierungseinheit 1108 eine Zertifikatskennung für den öffentlichen Schlüssel, der dem empfangenen Treiber für öffentliche Schlüssel entspricht. Als Nächstes generiert die Zertifikats-Generierungseinheit 1108 ein Public-Key-Zertifikat, das aus der generierten Zertifikatskennung, dem empfangenen Gültigkeitszeitraum und dem empfangenen Treiber für öffentliche Schlüssel besteht.
  • Als Nächstes wendet die Zertifikats-Generierungseinheit 1108 eine digitale Signatur SIG unter Verwendung eines geheimen Zertifikatsbehörden-Schlüssels, der geheim gehalten wird und nur in Besitz der Zertifikatsbehörden-Vorrichtung 1100 ist, auf das generierte Public-Key-Zertifikat an, um Zertifikatsignaturdaten zu generieren.
  • Hier ist die digitale Signatur SIG ein digitaler Signatur-Algorithmus, der EIGamal-Verschlüsselung auf einer elliptische Kurve verwendet. Die Sicherheit der EIGamal-Verschlüsselung basiert auf einem diskreten Logarithmusproblem auf der elliptischen Kurve.
  • Als Nächstes überträgt die Zertifikats-Generierungseinheit 1108 das generierte Public-Key-Zertifikat und die Zertifikatsignaturdaten zu der Herstellungsvorrichtung 1200 über die Übertragungs-/Empfangs-Einheit 1110 und das Internet 1010. Des Weiteren schreibt die Zertifikats-Generierungseinheit 11089 das generierte Public-Key-Zertifikat in die Zertifikats-Speichereinheit 1109.
  • (5) Widerruf-Benachrichtigungseinheit 1104
  • Angenommen, der Satz aus dem Treiber für geheime Schlüssel und dem Treiber für öffentliche Schlüssel wird unrechtmäßig von einer dritten Partei aufgedeckt. In diesem Fall muss das entsprechende Public-Key-Zertifikat widerrufen werden.
  • Wenn der Verwalter der Zertifikatsbehörden-Vorrichtung 1100 die Zertifikatskennung des zu widerrufenden Public-Key-Zertifikats entdeckt, erlangt die Widerruf-Benachrichtigungseinheit 1104 die Zertifikatskennung des Public-Key-Zertifikats, das widerrufen werden soll, über die Eingabeeinheit 1111 gemäß einer Bedienung durch den Verwalter und gibt die erlangte Zertifikatskennung an die Baumstruktur-Aktualisierungseinheit 1105 aus.
  • (6) Baumstruktur-Aktualisierungseinheit 1105
  • Die Baumstruktur-Aktualisierungseinheit 1105 empfängt die Zertifikatskennung von der Widerruf-Benachrichtigungseinheit 1104.
  • Beim Empfang der Zertifikatskennung aktualisiert die Baumstruktur-Aktualisierungseinheit 1105 die Baumstrukturtabelle D1100 auf die gleiche Weise wie die Baumstruktur-Aktualisierungseinheit 105.
  • Es ist anzumerken, dass "Kennungsinformationen" in der vorherigen Beschreibung der Baumstruktur-Aktualisierungseinheit 105 als "Zertifikatskennung" in Bezug auf die Baumstruktur-Aktualisierungseinheit 1105 verstanden werden sollen.
  • Somit widerruft die Baumstruktur-Aktualisierungseinheit 1105 auf die gleiche Weise wie die Baumstruktur-Aktualisierungseinheit 105 alle Knoten an der Kante von dem Blatt, das die empfangene Zertifikatskennung angibt, zu der Wurzel in der Baumstruktur D1100 auf Basis der von der Widerruf-Benachrichtigungseinheit 1104 empfangenen Zertifikatskennung.
  • Angenommen, die durch "0000", "1010" und "1011" angegebenen Zertifikatskennungen in der Baumstruktur D1100 werden widerrufen, sieht die Baumstruktur, deren Knoten von der Baumstruktur-Aktualisierungseinheit 1105 in der beschriebenen Weise widerrufen werden, wie in 5 gezeigt aus. In 5 gibt jeder mit einem Kreuz (X) markierte Knoten einen widerrufenen Knoten an.
  • (7) CRL-Speichereinheit 1106
  • Die CRL-Speichereinheit 1106 enthält einen Bereich zum Speichern von wenigstens einer CRL.
  • (8) CRL-Generierungseinheit 1103
  • Die CRL-Generierungseinheit 1103 arbeitet ähnlich wie die Generierungseinheit für Schlüsselinformationen-Header 106. Als Ergebnis dessen generiert die CRL-Generierungseinheit 1103 eine Vielzahl von NRPs.
  • Ein Beispiel für die Vielzahl von NRPs, (im Folgenden als "NRP-Gruppe" bezeichnet), die von der CRL-Generierungseinheit 1103 generiert werden, ist in 55 gezeigt. Wie in 55 gezeigt, besteht die NRP-Gruppe aus NRPs {11}, {10}, {10}, {10}, {01}, {10} und {11}, die in der angegebenen Reihenfolge angeordnet sind.
  • Hier sind die Inhalte der generierten NRP-Gruppe die gleichen wie die (in 6 gezeigten) Header-Informationen D200, die von der Generierungseinheit für Schlüsselinformationen-Header 106 generiert werden.
  • Die bisher beschriebenen Abläufe der CRL-Generierungseinheit 1103 sind die gleichen wie die der Generierungseinheit für Schlüsselinformationen-Header 106.
  • Anschließende Abläufe der CRL-Generierungseinheit 1103 unterscheiden sich von der Generierungseinheit für Schlüsselinformationen-Header 106. Die CRL-Generierungseinheit 1103 wendet eine digitale Signatur SIG auf die generierte NRP-Gruppe unter Verwendung des Zertifikatsbehörden-Schlüssels an, der geheim und nur von der Zertifikatsbehörden-Vorrichtung 1100 gespeichert wird, um Zertifikatsignaturdaten zu generieren, und generiert eine CRL, die aus der NRP-Gruppe und den generierten NRP-Signaturdaten besteht.
  • 55 zeigt ein Beispiel einer CRL. Die in 55 gezeigte CRL besteht aus einer NRP-Gruppe 1132 und NRP-Signaturdaten 1133.
  • Als Nächstes schreibt die CRL-Generierungseinheit 1103 die generierte CRL in die CRL-Speichereinheit 1106. Außerdem überträgt die CRL-Generierungseinheit 1103 die generierte CRL an die Aufzeichnungsvorrichtung für digitale Erzeugnisse 1400 über die CRL-Übertragungseinheit 1107 und das Internet 1010.
  • (9) CRL-Übertragungseinheit 1107
  • Die CRL-Übertragungseinheit 1107, die mit dem Internet 1010 verbunden ist, empfängt Informationen von der CRL-Generierungseinheit 1103 und überträgt die empfangenen Informationen über das Internet 1010 zu einer externen Vorrichtung.
  • (10) Übertragungs-/Empfangs-Einheit 1110
  • Die Übertragungs-/Empfangs-Einheit 1110, die mit dem Internet verbunden ist, überträgt und empfängt Informationen zwischen der Zertifikats-Generierungseinheit 1108 und einer externen Vorrichtung, die mit dem Internet 1010 verbunden ist.
  • (11) Steuereinheit 1113, Anzeigeeinheit 1112 und Eingabeeinheit 1111
  • Die Steuereinheit 1113 steuert die verschiedenen Bestandselemente der Zertifikatsbehörden-Vorrichtung 1100.
  • Die Anzeigeeinheit 1112 zeigt verschiedene Informationen unter der Steuerung der Steuereinheit 1113 an.
  • Die Eingabeeinheit 1111 empfängt Eingaben von der Bedienperson der Zertifikatsbehörden-Vorrichtung 1100.
  • 7.4 Aufzeichnungsvorrichtung für digitale Erzeugnisse 1400
  • Wie in 56 gezeigt, besteht die Aufzeichnungsvorrichtung für digitale Erzeugnisse 1400 aus einer Speichereinheit für digitale Erzeugnisse 1401, einer Verschlüsselungseinheit 1402, einer Schreibeinheit 1403 und einer Übertragungs-/Empfangseinheit 1404. Die Aufzeichnungsvorrichtung für digitale Erzeugnisse 1400 ist ein Computersystem, das aus einem Mikroprozessor, einem ROM, einem RAM und so weiter besteht und seine Funktionen über den Mikroprozessor erfüllt, der in Übereinstimmung mit den Computerprogrammen arbeitet.
  • (1) Speichereinheit für digitale Erzeugnisse 1401
  • Die Speichereinheit für digitale Erzeugnisse 1401 speichert vorab ein digitales Erzeugnis.
  • (2) Übertragungs-/Empfangseinheit 1404
  • Die Übertragungs-/Empfangseinheit 1404 ist mit dem Internet 1010 verbunden.
  • Die Übertragungs-/Empfangseinheit 1404 empfängt eine CRL von der Zertifikatsbehörden-Vorrichtung 1100 über das Internet 1010 und gibt die empfangene CRL an die Verschlüsselungseinheit 1402 aus.
  • (3) Verschlüsselungseinheit 1402
  • Die Verschlüsselungseinheit 1402 empfängt die CRL von der Übertragungs-/Empfangseinheit 1404.
  • Des Weiteren liest die Verschlüsselungseinheit 1402 gemäß einer Bedienperson-Anweisung das digitale Erzeugnis aus der Speichereinheit für digitale Erzeugnisse 1401 und wendet einen Verschlüsselungsalgorithmus E3 jeweils auf das gelesene digitale Erzeugnis und die empfangene CRL an, um ein verschlüsseltes digitales Erzeugnis und eine verschlüsselte CRL zu generieren.
  • Hier ist der Verschlüsselungsalgorithmus E3 ein DES-Verschlüsselungsalgorithmus.
  • Als Nächstes gibt die Verschlüsselungseinheit 1402 das generierte verschlüsselte digitale Erzeugnis und die verschlüsselte CRL an die Schreibeinheit 1403 aus.
  • (4) Schreibeinheit 1403
  • Die Schreibeinheit 1403 empfängt das verschlüsselte digitale Erzeugnis und die verschlüsselte CRL von der Verschlüsselungseinheit 1402 und schreibt das empfangene verschlüsselte digitale Erzeugnis und die verschlüsselte CRL auf die DVD 1800.
  • (5) Übertragungs-/Empfangs-Einheit 1404
  • Die Übertragungs-/Empfangs-Einheit 1404 ist mit dem Internet 1010 verbunden.
  • Die Übertragungs-/Empfangs-Einheit 1404 empfängt Informationen über das Internet 1010 von einer externen Vorrichtungen und gibt die empfangenen Informationen an die Verschlüsselungseinheit 1402 aus.
  • 7.5 Computereinheit 1900
  • Wie in 57 gezeigt, besteht die Computereinheit 1900 aus einer Informationen-Speichereinheit 1901, einer Entschlüsselungseinheit 1902, einer Authentifizierungseinheit 1903, einer Anzeigeeinheit 1904, einer Ein-/Ausgangseinheit 1905, einer Steuereinheit 1906, einer Wiedergabeeinheit 1907, einer Entschlüsselungseinheit 1908 und einer Eingabeeinheit 1909.
  • Die Computereinheit 1900 ist ein Computersystem, das aus einem Mikroprozessor, einem ROM, einem RAM, einer Festplatteneinheit, einer Anzeigeeinheit, einer Tastatur, einer Maus und so weiter besteht. Ein Computerprogramm ist im RAM oder auf der Festplatteneinheit gespeichert. Die Computereinheit 1900 erfüllt ihre Funktionen über den Mikroprozessor, der in Übereinstimmung mit dem Computerprogramm arbeitet
  • (1) Informationen-Speichereinheit 1901
  • Wie als Beispiel in 57 gezeigt, enthält die Informationen-Speichereinheit 1901 einen Bereich zum Speichern der Herstellungsnummer und eines Treibers für öffentliche Schlüssel.
  • Wie vorher beschrieben, sind die Herstellungsvorrichtung 1300 und die Computereinheit 1900 während des Prozesses des Computer-Herstellers zum Herstellen der Computereinheit 1900 verbunden, und die Herstellungsvorrichtung 1300 schreibt die Herstellungsnummer und den Treiber für öffentliche Schlüssel in die Informationen-Speichereinheit 1901.
  • Die Herstellungsnummer sind Identifizierungsinformationen zum Identifizieren der Treibereinheit 1600, und der Treiber für öffentliche Schlüssel ist ein öffentlicher Schlüssel, der so generiert ist, dass er der Treibereinheit 1600 entspricht.
  • (2) Steuereinheit 1906
  • Die Steuereinheit 1906 gibt eine CRL-Leseanweisung aus, die der Treibereinheit 1600 das Lesen der CRL über die Ein-/Ausgangseinheit 1905 angibt.
  • Die Steuereinheit 1906 empfängt entweder Erfolgsinformationen, die angeben, dass die Prüfung der NRP-Gruppe erfolgreich war, oder Misserfolgsinformationen, die angeben, dass die Prüfung der NRP-Gruppe fehlgeschlagen ist. Bei Empfang der Erfolgsinformationen empfängt die Steuereinheit 1906 des Weiteren die NRP-Gruppe von der Authentifizierungseinheit 1903.
  • Bei Empfang der Misserfolgsinformationen gibt die Steuereinheit 1906 eine Meldung aus, die der Anzeigeeinheit 1904 den Prüfungs-Misserfolg angibt, und steuert so, dass die Anzeigeeinheit 1904 die Meldung anzeigt. Dann stoppt die Steuereinheit 1906 den Zugriff auf die DVD durch die Treibereinheit 1600.
  • Wenn die Steuereinheit 1906 Erfolgsinformationen empfängt, fordert die Steuereinheit 1906 das Public-Key-Zertifikat von der Treibereinheit 1600 über die Ein-/Ausgangseinheit 1905 an.
  • <Widerruf-Feststellung>
  • Als Nächstes empfängt die Steuereinheit 1906 das Public-Key-Zertifikat von der Treibereinheit 1600, extrahiert die Zertifikatskennung aus den empfangenen Public-Key-Informationen und stellt auf die folgende Weise unter Verwendung der extrahierten Zertifikatskennung und der von der Authentifizierungseinheit 1903 empfangenen NRP-Gruppe fest, ob das Public-Key-Zertifikat widerrufen ist.
  • Die Steuereinheit 1906 stellt ähnlich wie die Spezifizierungseinheit 303 in der ersten Ausführungsform fest, ob das Public-Key-Zertifikat widerrufen ist. Es ist anzumerken, dass der Unterschied zwischen der Spezifizierungseinheit 303 und der Steuereinheit 1906 darin besteht, dass, während die Spezifizierungseinheit 303 arbeitet, um einen verschlüsselten Medienschlüssel zu spezifizieren, die Steuereinheit 1906 arbeitet, um festzustellen, ob ein Public-Key-Zertifikat widerrufen ist.
  • Die folgende Beschreibung beschreibt die Abläufe von der Steuereinheit 1906 zum Feststellen, ob ein Public-Key-Zertifikat widerrufen ist, wobei der Schwerpunkt auf Abläufen ruht, die sich von denen der Spezifizierungseinheit 303 unterscheiden.
  • Die Steuereinheit 1906 stellt gemäß den im Ablaufdiagramm in 17 gezeigten Abläufen fest, ob ein Public-Key-Zertifikat widerrufen ist.
  • Die Steuereinheit 1906 weist eine Variable A, welche die Position des NRP angibt, das sich auf eine Zertifikatskennung bezieht, eine Variable W, welche die Anzahl von NRPs in einer Schicht angibt, und einen Wert D auf, der die Anzahl von Schichten in der Baumstruktur angibt. Hier bezeichnet ein NRP, das sich auf eine Zertifikatskennung bezieht, ein NRP eines Knotens in der Baumstruktur, der sich an der Kante von dem Blatt, das der Zertifikatskennung zugewiesen ist, bis zu der Wurzel befindet. Es ist anzumerken, dass die Steuereinheit 1906 im Gegensatz zur Spezifizierungseinheit 303 keine Variable X aufweist, welche die Position eines verschlüsselten Medienschlüssels angibt.
  • Wenn die Feststellung in Schritt S302 im Ablaufdiagramm in 17 negativ ausfällt, betrachtet die Steuereinheit 1906 das Public-Key-Zertifikat als widerrufen.
  • Wenn des Weiteren in Schritt S303 im Ablaufdiagramm in 17 festgestellt wird, dass B gleich 0 ist, stellt die Steuereinheit 1906 fest, dass das Public-Key-Zertifikat gültig ist (d.h. nicht widerrufen ist). Es ist anzumerken, dass die Steuereinheit 1906 in Schritt S307 nichts tut.
  • Auf diese Weise stellt die Steuereinheit 1906 fest, ob das Public-Key-Zertifikat widerrufen ist, und wenn die Feststellung positiv ausfällt, gibt die Steuereinheit 1906 eine Meldung, die angibt, dass das Public-Key-Zertifikat widerrufen ist, an die Anzeigeeinheit 1904 aus und steuert so, dass die Anzeigeeinheit 1904 die Meldung anzeigt. Die Steuereinheit 1906 stoppt dann den Zugriff auf die DVD durch die Treibereinheit 1600.
  • Wenn andererseits festgestellt wird, dass das Public-Key-Zertifikat gültig ist, generiert die Steuereinheit 1906 eine Zufallszahl R, gibt die generierte Zufallszahl R an die Treibereinheit 1600 über die Ein-/Ausgangseinheit 1905 aus und empfängt Authentifizierungssignaturdaten von der Treibereinheit 1600.
  • Die Steuereinheit 1906 liest den Treiber für öffentliche Schlüssel aus der Informationen-Speichereinheit 1901 und wendet unter Verwendung des gelesenen Treibers für öffentliche Schlüssel einen Prüfalgorithmus VER auf die generierte Zufallszahl R und die empfangenen Authentifizierungssignaturdaten an, um die Treibereinheit 1600 zu prüfen.
  • Hier entspricht der Prüfalgorithmus VER der oben beschriebenen digitalen Signatur SIG und prüft gemäß den Signaturdaten, die durch eine digitale Signatur SIG generiert werden.
  • Wenn die Prüfung fehlschlägt, gibt die Steuereinheit 1906 eine Meldung, die angibt, dass die Treibereinheit 1600 unrechtmäßig ist, an die Anzeigeeinheit aus und steuert so, dass die Anzeigeeinheit 1904 die Meldung anzeigt. Die Steuereinheit 1906 stoppt dann den Zugriff auf die DVD durch die Treibereinheit 1600.
  • Wenn die Prüfung erfolgreich ist, gibt die Steuereinheit 1906 über die Ein-/Ausgangseinheit 1905 eine Leseanweisung für digitale Erzeugnisse an die Treibereinheit 1600 aus.
  • Als Nächstes empfängt die Steuereinheit 1906 das verschlüsselte digitale Erzeugnis von der Treibereinheit 1600 über die Ein-/Ausgangseinheit 1905 und gibt das empfangene digitale Erzeugnis an die Entschlüsselungseinheit 1908 aus.
  • (3) Entschlüsselungseinheit 1902
  • Die Entschlüsselungseinheit 1902 empfängt die verschlüsselte CRL von der Treibereinheit 1600 über die Ein-/Ausgangseinheit 1905, wendet einen Entschlüsselungsalgorithmus D3 auf die empfangene verschlüsselte CRL an, um die NRP-Gruppe und NRP-Signaturdaten zu generieren, und gibt die generierte NRP-Gruppe und die NRP-Signaturdaten an die Authentifizierungseinheit 1903 aus.
  • (4) Authentifizierungseinheit 1903
  • Die Authentifizierungseinheit 1903 speichert einen öffentlichen Schlüssel der Zertifikatsbehörde, der vorab von der Zertifikatsbehörden-Vorrichtung 1100 verteilt wird. Der öf fentliche Schlüssel der Zertifikatsbehörde entspricht dem vorher beschriebenen Zertifikatsbehörden-Schlüssel und wird auf Basis des geheimen Schlüssels der Zertifikatsbehörde generiert unter Verwendung eines Public-Key-Generierungsalgorithmus für Public-Key-Verschlüsselungsverfahren (using a public key encryption method public key generation algorithm).
  • Die Authentifizierungseinheit 1903 empfängt die NRP-Gruppe und die NRP-Signaturdaten von der Entschlüsselungseinheit 1902 und prüft die NRP-Gruppe durch Anwenden eines digitalen Signatur-Prüfalgorithmus VER auf die NRP-Gruppe und die NRP-Signaturdaten unter Verwendung des öffenllichen Schlüssels der Zertifikatsbehörde.
  • Hier entspricht der Prüfalgorithmus VER der vorher beschriebenen digitalen Signatur SIG und prüft gemäß den Signaturdaten, die von der digitalen Signatur SIG generiert werden.
  • Wenn das Ergebnis der Prüfung zeigt, dass die NRP-Gruppe rechtmäßig ist, mit anderen Worten, wenn die Prüfung erfolgreich ist, gibt die Authentifizierungseinheit 1903 Erfolgsinformationen aus, die der Steuereinheit 1906 angeben, dass die Prüfung erfolgreich gewesen ist. In diesem Fall gibt die Authentifizierungseinheit 1903 des Weiteren die NRP-Gruppe an die Steuereinheit 1906 aus. Wenn das Ergebnis der Prüfung andererseits jedoch zeigt, dass die NRP-Gruppe unrechtmäßig ist, mit anderen Worten, wenn die Prüfung fehlschlägt, gibt die Authentifizierungeinheit 1903 Misserfolgsinformationen an die Steuereinheit 1906 aus, die angeben, dass die Prüfung fehlgeschlagen ist.
  • (5) Entschlüsselungseinheit 1908
  • Die Entschlüsselungseinheit 1902 empfängt das verschlüsselte digitale Erzeugnis von der Steuereinheit 1906, wendet einen Entschlüsselungsalgorithmus D3 auf das empfangene verschlüsselte digitale Erzeugnis an, um ein digitales Erzeugnis zu generieren, und gibt das generierte digitale Erzeugnis an die Wiedergabeeinheit 1907 aus.
  • (6) Wiedergabeeinheit 1907
  • Die Wiedergabeeinheit 1907 empfängt das digitale Erzeugnis von der Entschlüsselungseinheit 1902, gibt das digitale Erzeugnis wieder und gibt das wiedergegebene digitale Erzeugnis aus.
  • (7) Anzeigeeinheit 1904
  • Die Anzeigeeinheit 1904 empfängt die Meldung von der Steuereinheit 1906 und zeigt die empfangene Meldung unter der Steuerung der Steuereinheit 1906 an.
  • (8) Eingabeeinheit 1909
  • Die Eingabeeinheit 1909 empfängt Eingaben von einer Bedienperson.
  • 7.6 Treibereinheit 1600
  • Wie in 58 gezeigt, besteht die Treibereinheit 1600 aus einer Informationen-Speichereinheit 1601, einer Leseeinheit 1602, einer Steuereinheit 1603, einer Authentifizierungseinheit 1604 und einer Ein-/Ausgangseinheit 1605.
  • (1) Informationen-Speichereinheit 1601
  • Wie in 58 gezeigt, enthält die Informationen-Speichereinheit 1601 einen Bereich zum Speichern einer Herstellungsnummer, eines Treibers für geheime Schlüssel, eines Public-Key-Zertifikats und von Zertifikatsignaturdaten.
  • Wie vorher beschrieben, sind die Herstellungsvorrichtung 1200 und die Treibereinheit 1600 während des Prozesses des Computer-Herstellers zum Herstellen der Treibereinheit 1600 verbunden, und die Herstellungsvorrichtung 1200 schreibt die Herstellungsnummer, den Treiber für geheime Schlüssel, das Public-Key-Zertifikat und die Zertifikatsignaturdaten in die Informationen-Speichereinheit 1601.
  • Die Herstellungsnummer, der Treiber für geheime Schlüssel, das Public-Key-Zertifikat und die Zertifikatsignaturdaten sind wie vorher beschrieben und werden daher hier nicht beschrieben.
  • (2) Steuereinheit 1603
  • Die Steuereinheit 1603 empfängt eine CRL-Leseanweisung, eine Anforderung für ein Public-Key-Zertifikat, eine Zufallszahl R und eine Leseanforderung für das digitale Erzeugnis von der Computereinheit 1900 über die Ein-/Ausgangseinheit 1605.
  • Beim Empfang der CRL-Leseanforderung liest die Steuereinheit 1603 die verschlüsselte CRL aus der DVD 1800 über die Leseeinheit 1602 und gibt die gelesene verschlüsselte CRL an die Computereinheit 190 über die Ein-/Ausgangseinheit 1605 aus.
  • Beim Empfang der Anforderung für ein Public-Key-Zertifikat liest die Steuereinheit 1603 das Public-Key-Zertifikat aus der Informationen-Speichereinheit 1601 aus und gibt das gelesene Public-Key-Zertifikat an die Computereinheit 1900 über die Ein-/Ausgangseinheit 1605 aus.
  • Beim Empfang der Zufallszahl R gibt die Steuereinheit 1603 die empfangene Zufallszahl R an die Authentifizierungseinheit 1604 aus und steuert so, dass die Authentifizierungseinheit 1604 Authentifizierungssignaturdaten generiert.
  • Beim Empfang der Leseanforderung für digitale Erzeugnisse liest die Steuereinheit 1603 das verschlüsselte digitale Erzeugnis aus der DVD 1800 aus der Leseeinheit 1602 und gibt das gelesene verschlüsselte digitale Erzeugnis an die Computereinheit 1900 über die Ein-/Ausgangseinheit 1605 aus.
  • Als Nächstes empfängt die Steuereinheit 1603 die Authentifizierungssignaturdaten von der Authentifizierungseinheit 1604 und gibt die empfangenen Authentifizierungssignaturdaten an die Computereinheit 1900 über die Ein-/Ausgangseinheit 1605 aus.
  • (3) Authentifizierungseinheit 1604
  • Die Authentifizierungseinheit 1604 empfängt die Zufallszahl R von der Steuereinheit 1603. Unter der Steuerung der Steuereinheit 1603 liest die Authentifizierungseinheit 1604 den Treiber für geheime Schlüssel aus der Informationen-Speichereinheit 1601, wendet die digitale Signatur SIG unter Verwendung des gelesenen Treibers für geheime Schlüssel auf die empfangene Zufallszahl R an, um Authentifizierungssignaturdaten zu generieren, und gibt die generierten Authentifizierungssignaturdaten an die Steuereinheit 1603 aus.
  • (4) Leseeinheit 1602
  • Die Leseeinheit 1602 liest Informationen aus der DVD 1800 und gibt die gelesenen Informationen unter der Steuerung der Steuereinheit 1603 an die Steuereinheit 1603 aus.
  • (5) Ein-/Ausgangseinheit 1605
  • Die Ein-/Ausgangseinheit 1605 überträgt und empfängt Informationen zwischen der Steuereinheit 1603 und der Computereinheit 1900 unter der Steuerung der Steuereinheit 1603.
  • 7.7 Abläufe des Authentifizierungssystems 1000
  • (1) Abläufe der Herstellungsvorrichtung 1200 und der Herstellungsvorrichtung 1300
  • Im Folgenden werden Abläufe der Herstellungsvorrichtung 1200 und der Herstellungsvorrichtung 1300 unter Verwendung des Ablaufdiagramms in 59 beschrieben.
  • Die Eingabeeinheit 1202 empfängt eine Eingabe der Herstellungsnummer der Treibereinheit 1600 von der Bedienperson der Herstellungsvorrichtung 1200, und die Steuereinheit 1204 empfängt die Herstellungsnummer von der Eingabeeinheit 1202 (Schritt S501). Als Nächstes empfängt die Eingabeeinheit 1202 eine Eingabe eines Gültigkeitszeitraums von der Bedienperson der Herstellungsvorrichtung 1200 und gibt den empfangenen Gültigkeitszeitraum an die Steuereinheit 1204 aus. Die Steuereinheit 1204 empfängt den Gültigkeitszeitraum von der Eingabeeinheit 1202 (Schritt S502).
  • Als Nächstes generiert die Steuereinheit 1204 eine Zufallszahl und generiert einen Treiber für geheime Schlüssel auf Basis der generierten Zufallszahl (Schritt S503). Die Steuereinheit generiert dann einen Treiber für öffentliche Schlüssel auf Basis des gene rierten Treibers für geheime Schlüssel unter Verwendung einer RSA-Public-Key-Verschlüsselungstechnik (Schritt S504).
  • Als Nächstes gibt die Steuereinheit 1204 den generierten Treiber für öffentliche Schlüssel, den empfangenen Gültigkeitszeitraum und eine Ausgabeanforderung für ein Public-Key-Zertifikat aus, das eine Anforderung zum Ausgeben eines Public-Key-Zertifikats an die Zertifikatsbehörden-Vorrichtung 1100 über die Kommunikationseinheit 1206 und das Internet 1010 angibt (Schritt S505).
  • Als Nächstes empfängt die Steuereinheit 1204 das Public-Key-Zertifikat und die Zertifikatsignaturdaten von der Zertifikatsbehörden-Vorrichtung 1100 über das Internet 1010 und die Kommunikationseinheit 1206 (Schritt S506), generiert Herstellungsinformationen, die aus der Herstellungsnummer, dem Treiber für geheime Schlüssel, dem Treiber für öffentliche Schlüssel, dem Gültigkeitszeitraum, dem Public-Key-Zertifikat und den Zertifikatssignaturdaten bestehen, und schreibt die generierten Herstellungsinformationen in die Herstellungsinformationen-Tabelle 1211 in der Informationen-Speichereinheit 1200 (Schritt S507).
  • Des Weiteren gibt die Steuereinheit 1204 die Herstellungsnummer, den Treiber für geheime Schlüssel, das Public-Key-Zertifikat und die Zertifikatssignaturdaten an die Schreibeinheit 1205 aus, und die Schreibeinheit 1205 schreibt die empfangene Herstellungsnummer, den Treiber für geheime Schlüssel, das Public-Key-Zertifikat und die Zertifikatssignaturdaten in die Informationen-Speichereinheit 1601 in der Treibereinheit 1600 (Schritt S508).
  • Außerdem offenbart die Steuereinheit 1204 die Herstellungsnummer und den Treiber für öffentliche Schlüssel über die Kommunikationseinheit 1206 und das Internet 1010 (Schritt S509).
  • Die Herstellungsvorrichtung 1300 erlangt die offenbarte Herstellungsnummer und den Treiber für öffentliche Schlüssel über das Internet 1010 (Schritt S509) und schreibt die erlangte Herstellungsnummer und den Treiber für öffentliche Schlüssel in die Informationen-Speichereinheit 1901 in der Computereinheit 1900 (Schritt S510).
  • (2) Abläufe von der Zertifikatsbehörden-Vorrichtung 1100 zum Ausgeben eines Public-Key-Zertifikats
  • Im Folgenden werden Abläufe von der Zertifikatsbehörden-Vorrichtung 1100 zum Ausgeben eines Public-Key-Zertifikats unter Verwendung des Ablaufdiagramms in 60 beschrieben.
  • Die Baumstruktur-Konstruktionseinheit konstruiert eine n-näre Baumdatenstruktur zum Verwalten von Public-Key-Zertifikatskennungen in der gleichen Weise wie die Baumstruktur-Konstruktionseinheit 101 und speichert die konstruierte Baumstruktur in der Baumstruktur-Speichereinheit 1102 (Schritt S521).
  • Die Zertifikats-Generierungseinheit 1108 empfängt eine Ausgabeanforderung für ein Public-Key-Zertifikat, die eine Anforderung zum Ausgeben eines Public-Key-Zertifikats angibt, einen Treiber für öffentliche Schlüssel und einen Gültigkeitszeitraum von der Herstellungsvorrichtung 1200 über das Internet 1010 und die Übertragungs-/Empfangs-Einheit 1110 (Schritt S505)
  • Als Nächstes wählt die Zertifikats-Generierungseinheit 1108 ein Knoteninformationen-Element aus, das einem Blatt in der Baumstrukturtabelle D1100 entspricht, die in der Baumstruktur-Speichereinheit 1102 gespeichert ist, und das keinen Treiber für öffentliche Schlüssel enthält, schreibt den empfangenen Treiber für öffentliche Schlüssel in das ausgewählte Knoteninformationen-Element und extrahiert die Knotenbezeichnung aus dem ausgewählten Knoteninformationen-Element. Hier ist die extrahierte Knotenbezeichnung eine Zertifikatskennung, die ein Public-Key-Zertifikat identifiziert (Schritt S522). Als Nächstes generiert die Zertifikats-Generierungseinheit 1108 ein Public-Key-Zertifikat, das aus der generierten Zertifikatskennung, dem empfangenen Gültigkeitszeitraum und dem empfangenen Treiber für öffentliche Schlüssel besteht (Schritt S523) und wendet außerdem eine digitale Signatur SIG auf das generierte Public-Key-Zertifikat an unter Verwendung des geheimen Zertifikatsbehörden-Schlüssels, der nur in Besitz der Zertifikatsbehörden-Vorrichtung 1100 ist, um Zertifikatsignaturdaten zu generieren (Schritt S524).
  • Als Nächstes überträgt die Zertifikats-Generierungseinheit 1108 das generierte Public-Key-Zertifikat und die Zertifikatssignaturdaten zur Herstellungsvorrichtung 1200 über die Übertragungs-/Empfangseinheit 1110 und das Internet 1010 (Schritt S506) und schreibt das generierte Public-Key-Zertifikat in die Zertifikats-Speichereinheit 1109 (Schritt S525). Die Zertifikats-Generierungseinheit 1108 kehrt dann zum Schritt S505 zurück, um die Verarbeitung zu wiederholen.
  • (3) Abläufe von der Zertifikatsbehörden-Vorrichtung 1100 zum Ausgeben einer CRL
  • Im Folgenden werden Abläufe von der Zertifikatsbehörden-Vorrichtung 1100 zum Ausgeben einer CRL unter Verwendung des Ablaufdiagramms in 61 beschrieben.
  • Wenn der Verwalter der Zertifikatsbehörden-Vorrichtung 1100 eine Zertifikatskennung eines zu widerrufenden Public-Key-Zertifikats entdeckt, erlangt die Widerruf-Benachrichtigungseinheit 1104 die Zertifikatskennung des zu widerrufenden Public-Key-Zertifikats über die Eingabeeinheit 1111 gemäß einer Bedienung durch den Verwalter und gibt die erlangte Zertifikatskennung an die Baumstruktur-Aktualisierungseinheit 1105 aus (Schritt S541).
  • Als Nächstes empfängt die Baumstruktur-Aktualisierungseinheit 1105 die Zertifikatskennung von der Widerruf-Benachrichtigungseinheit 1104, und die Baumstruktur-Aktualisierungseinheit 1105 aktualisiert die Baumstrukturtabelle D1100 auf die gleiche Weise wie die Baumstruktur-Aktualisierungseinheit 105 (Schritt S542). Als Nächstes generiert die CRL-Generierungseinheit 1103 eine NRP-Gruppe auf die gleiche Weise wie die Generierungseinheit für Schlüsselinformationen-Header 106 (Schritt S543).
  • Als Nächstes wendet die CRL-Generierungseinheit 1103 eine digitale Signatur SIG auf die generierte NRP-Gruppe unter Verwendung des geheimen Zertifikatsbehörden-Schlüssels an, der geheim nur von der Zertifikatsbehörden-Vorrichtung 1100 gespeichert wird, um NRP-Signaturdaten zu generieren (Schritt S544), generiert eine CRL, die aus der NRP-Gruppe und den generierten NRP-Signaturdaten besteht (Schritt S545), und schreibt die generierte CRL in die CRL-Speichereinheit 1106 (Schritt S546). Als Nächstes überträgt die CRL-Generierungseinheit 1103 die generierte CRL zu der Auf zeichnungsvorrichtung für digitale Erzeugnisse 1400 über die CRL-Übertragungseinheit 1107 und das Internet 1010 (Schritt S547).
  • Die Übertragungs-/Empfangs-Einheit 1404 in der Aufzeichnungsvorrichtung für digitale Erzeugnisse 1400 empfängt die CRL von der Zertifikatsbehörden-Vorrichtung 1100 über das Internet 1010, gibt die empfangene CRL an die Verschlüsselungseinheit 1402 aus, und die Verschlüsselungseinheit 1402 empfängt die CRL von der Übertragungs-Empfangs-Einheit 1404 (Schritt S547).
  • Als Nächstes liest die Verschlüsselungseinheit 1402 das digitale Erzeugnis aus der Speichereinheit für digitale Erzeugnisse 1401 gemäß einer Anweisung von der Bedienperson und wendet den Verschlüsselungsalgorithmus E3 auf das gelesene digitale Erzeugnis an, um ein verschlüsseltes digitales Erzeugnis zu generieren (Schritt S548). Die Verschlüsselungseinheit 1402 wendet dann den Verschlüsselungsalgorithmus E3 auf die empfangene CRL an, um eine verschlüsselte CRL zu generieren (Schritt S549).
  • Als Nächstes gibt die Verschlüsselungseinheit 1402 das generierte verschlüsselte Erzeugnis und die verschlüsselte CRL an die Schreibeinheit 1403 (Schritt S550).
  • (4) Abläufe von der Computereinheit 1900 und der Treibereinheit 1600
  • Im Folgenden werden die Abläufe von der Computereinheit 1900 und der Treibereinheit 1600 unter Verwendung der Ablaufdiagramme in 62 und 63 beschrieben.
  • Die Steuereinheit 1906 in der Computereinheit 1900 gibt eine CRL-Leseanweisung aus, die das Lesen einer CRL für die Treibereinheit 1600 angibt, und die Steuereinheit 1603 der Treibereinheit 1600 empfängt die Leseanweisung von der Computereinheit 1900 über die Ein-/Ausgangseinheit 1605 (Schritt S561).
  • Als Nächstes liest die Steuereinheit 1603 die verschlüsselte CRL aus der DVD 1800 über die Leseeinheit 1602 (Schritt S562) und gibt die gelesene verschlüsselte CRL an die Computereinheit 1900 über die Ein-/Ausgangseinheit 1605 aus (Schritt S563).
  • Als Nächstes empfängt die Entschlüsselungseinheit 1902 die verschlüsselte CRL von der Treibereinheit 1600 über die Ein-/Ausgangseinheit 1905 (Schritt S563) und wendet einen Entschlüsselungsalgorithmus D3 auf die empfangene verschlüsselte CRL an, um eine NRP-Gruppe und NRP-Signaturdaten zu generieren, und gibt die generierte NRP-Gruppe und NRP-Signaturdaten an die Authentifizierungseinheit 1903 aus (Schritt S564).
  • Die Authentifizierungseinheit 1903 empfängt die NRP-Gruppe und die NRP-Signaturdaten von der Entschlüsselungseinheit 1902, wendet einen digitalen Signatur-Prüfalgorithmus VER unter Verwendung des öffentlichen Schlüssels der Zertifikatsbehörde auf die NRP-Gruppe und die NRP-Signaturdaten an und prüft die NRP-Gruppe. Die Authentifizierungseinheit 1903 gibt dann entweder Erfolgsinformationen oder Misserfolgsinformationen an die Steuereinheit 1906 aus, und gibt im Fall der Ausgabe von Erfolgsinformationen des Weiteren die NRP-Gruppe an die Steuereinheit 1906 aus (Schritt S565).
  • Als Nächstes, wenn Misserfolgsinformationen empfangen werden (Schritt S566), gibt die Steuereinheit 1906 eine Meldung aus, die der Anzeigeeinheit 1904 einen Prüf-Misserfolg angibt, und steuert so, dass die Anzeigeeinheit 1904 die Meldung anzeigt (Schritt S567). Die Steuereinheit 1906 stoppt dann den Zugriff auf die DVD durch die Treibereinheit 1600.
  • Wenn Erfolgsinformationen empfangen werden (Schritt S566), fordert die Steuereinheit 1906 des Weiteren das Public-Key-Zertifikat von der Treibereinheit 1600 über die Ein-/Ausgangseinheit 1905 an (Schritt S568).
  • Die Steuereinheit 1603 empfängt die Anforderung für das Public-Key-Zertifikat von der Computereinheit 1900 über die Ein-/Ausgangseinheit 1605 (Schritt S568), liest das Public-Key-Zertifikat aus der Informationen-Speichereinheit 1601 (Schritt S569) und gibt das gelesene Public-Key-Zertifikat an die Computereinheit 1900 über die Ein-/Ausgangseinheit 1605 aus (Schritt S570).
  • Als Nächstes empfängt die Steuereinheit 1906 das Public-Key-Zertifikat von der Treibereinheit 1600 (Schritt S570), extrahiert die Zertifikatskennung aus den empfangenen Public-Key-Informationen (Schritt S571) und stellt unter Verwendung der von der Authen tifizierungseinheit 1903 empfangenen NRP-Gruppe fest, ob das Public-Key-Zertifikat widerrufen ist (Schritt S572).
  • Wenn die Feststellung positiv ausfällt (Schritt S573), gibt die Steuereinheit 1906 eine Meldung, die angibt, dass das Public-Key-Zertifikat widerrufen ist, an die Anzeigeeinheit 1904 aus und steuert so, dass die Anzeigeeinheit 1904 die Meldung anzeigt (Schritt S574). Die Steuereinheit 1906 stoppt dann den Zugriff auf die DVD durch die Treibereinheit 1600.
  • Wenn das Public-Key-Zertifikat andererseits als gültig festgestellt wird (Schritt S573), generiert die Steuereinheit 1906 eine Zufallszahl R (Schritt S575) und gibt die generierte Zufallszahl R über die Ein-/Ausgangseinheit 1905 an die Treibereinheit 1600 aus (Schritt S576).
  • Die Steuereinheit 1603 empfängt die Zufallszahl R von der Ein-/Ausgangseinheit 1605 (Schritt S576), gibt die empfangene Zufallszahl R an die Authentifizierungseinheit 1604 aus und steuert so, dass die Authentifizierungseinheit 1604 Authentifizierungssignaturdaten generiert. Die Authentifizierungseinheit 1604 wendet eine digitale Signatur SIG auf die empfangene Zufallszahl R an, um Authentifizierungssignaturdaten zu generieren (Schritt S577), und gibt die generierten Authentifizierungssignaturdaten an die Steuereinheit 1603 aus (Schritt S578).
  • Die Steuereinheit 1906 empfängt die Authentifizierungssignaturdaten von der Treibereinheit 1600 (Schritt S578). Als Nächstes liest die Steuereinheit 1906 den Treiber für öffentliche Schlüssel aus der Informationen-Speichereinheit 1901, wendet einen Prüfalgorithmus VER unter Verwendung des gelesenen Treibers für öffentliche Schlüssel auf die generierte Zufallszahl R und die empfangenen Authentifizierungssignaturdaten an und prüft die Treibereinheit 1600 (Schritt S579).
  • Wenn die Prüfung fehlschlägt (Schritt S580), gibt die Steuereinheit 1906 eine Meldung, die angibt, dass die Treibereinheit 1600 unrechtmäßig ist, an die Anzeigeeinheit 1904 aus und steuert so, dass die Anzeigeeinheit 1904 die Meldung anzeigt (Schritt S586). Die Steuereinheit 1906 stoppt dann den Zugriff auf die DVD durch die Treibereinheit 1600.
  • Wenn die Prüfung erfolgreich ist (Schritt S580), gibt die Steuereinheit 1906 eine Leseanweisung für digitale Erzeugnisse an die Treibereinheit 1600 über die Ein-/Ausgangseinheit 1905 aus (Schritt S581).
  • Die Steuereinheit 1603 empfängt die Anforderung zum Lesen des digitalen Erzeugnisses von der Computereinheit 1900 über die Ein-/Ausgangseinheit 1605 (Schritt S581), liest das verschlüsselte digitale Erzeugnis aus der DVD 1800 über die Leseeinheit 1602 (Schritt S582) und gibt das gelesene verschlüsselte digitale Erzeugnis an die Computereinheit 1900 über die Ein-/Ausgangseinheit 1605 aus (Schritt S583).
  • Als Nächstes empfängt die Steuereinheit 1906 das verschlüsselte digitale Erzeugnis von der Treibereinheit 1600 über die Ein-/Ausgangseinheit 1905 (Schritt S583) und gibt das empfangene verschlüsselte digitale Erzeugnis an die Entschlüsselungseinheit 1902 aus. Die Entschlüsselungseinheit 1902 empfängt das verschlüsselte digitale Erzeugnis, wendet einen Entschlüsselungsalgorithmus D3 auf das empfangene verschlüsselte digitale Erzeugnis an, um ein digitales Erzeugnis zu generieren, und gibt das generierte digitale Erzeugnis an die Wiedergabeeinheit 1907 aus (Schritt S584).
  • Die Wiedergabeeinheit 1907 empfängt das digitale Erzeugnis von der Entschlüsselungseinheit 1902, gibt das empfangene digitale Erzeugnis wieder und gibt das wiedergegebene digitale Erzeugnis aus (Schritt S585).
  • 7.8 Modifizierungen
  • Die Techniken der ersten Ausführungsform werden auf die sechste Ausführungsform wie beschrieben angewendet. Insbesondere werden die Verfahren zum Generieren von Header-Informationen und Spezifizieren eines verschlüsselten Medienschlüssels in der ersten Ausführungsform auf die CRL-Generierung und die Widerruf-Feststellung von Public-Key-Zertifikaten in dem Authentifizierungssystem 1000 in der sechsten Ausführungsform angewendet.
  • Es ist anzumerken, dass jede der zweiten bis fünften Ausführungsform und deren Modifizierungen auf die sechste Ausführungsform angewendet werden können. Insbesonde re können die Verfahren zum Generieren von Header-Informationen und Spezifizieren eines verschlüsselten Medienschlüssels in jeder der zweiten bis fünften Ausführungsform und deren Modifizierungen auf die CRL-Generierung und die Widerruf-Feststellung von Public-Key-Zertifikaten in dem Authentifizierungssystem 1000 in der sechsten Ausführungsform angewendet werden.
  • Wenn die zweite Ausführungsform auf die sechste Ausführungsform angewendet wird, ist das NRP eines Knotens, dessen absteigende Knoten alle widerrufen sind, nicht darauf begrenzt, als "00" ausgedrückt zu werden. Zum Beispiel können "0" und "1" ausgewechselt werden, so dass "11" das vorgenannte NRP ausdrückt. Des Weiteren ist es möglich, ein Bit zu dem NRP hinzuzufügen, um die vorgenannte Bedeutung auszudrücken.
  • Desgleichen ist es möglich, wenn die dritte Ausführungsform auf die sechste Ausführungsform angewendet wird, statt das NRP eines Knotens, dessen Abkömmlinge alle widerrufen sind, mit "00" auszudrücken, ein Bit hinzuzufügen, um die vorgenannte Bedeutung auszudrücken.
  • Des Weiteren, wenn keine widerrufenen Public-Key-Zertifikate vorhanden sind, kann die CRL so generiert werden, dass sie diesbezügliche Informationen enthält.
  • 7.9 Schlussfolgerung
  • Die vorliegende Erfindung ist ein Authentifizierungssystem, das eine Public-Key-Verschlüsselung verwendet und aus Folgendem besteht: einem Datenendgerät, das einen geheimen Schlüssel und öffentlichen Schlüssel für den Public-Key-Verschlüsselungsalgorithmus (public key encryption algorithm secret key and public key) aufweist und seine Rechtmäßigkeit einer Gegenpartei gegenüber unter Verwendung des geheimen Schlüssels zertifiziert; einer Vorrichtung zum Ausgeben des Public-Key-Zertifikats, die ein Public-Key-Zertifikat für Daten ausgibt und verteilt, die aus wenigstens dem öffentlichen Schlüssel des Datenendgeräts bestehen; einer Widerruflisten-Generierungsvorrichtung, die eine Public-Key-Widerrufliste ausgibt und verteilt, die das von der Vorrichtung zum Ausgeben des Public-Key-Zertifikats an das Datenendgerät ausgegebene Public-Key-Zertifikat spezifiziert, das widerrufen werden soll; eine Widerruflisten-Nutzungsvorrich tung, die das Public-Key-Zertifikat eines Gegenpartei-Datenendgeräts, das zu prüfen ist, und die Widerrufliste für Public-Key-Zertifikate empfängt und feststellt, ob das Public-Key-Zertifikat in der Widerrufliste für Public-Key-Zertifikate registriert ist; und einer Prüfvorrichtung, welche die Zertifizierung durch die Gegenpartei unter Verwendung eines öffentlichen Schlüssels prüft, der von der Widerrufliste-Nutzungsvorrichtung als gültig festgestellt worden ist.
  • Die Widerruflisten-Generierungsvorrichtung konstruiert und speichert eine Baumstruktur, die aus einer Vielzahl von Schichten besteht, und weist eindeutige Werte, von denen jeder ein Public-Key-Zertifikat eines jeweils anderen der Datenendgeräte identifiziert, zu den Blättern in der Baumstruktur zu. Wenn des Weiteren wenigstens ein Abkömmling, also ein Blatt, eines bestimmten Knotens in dem gespeicherten Baum einem eindeutigen Wert eines zu widerrufenden Public-Key-Zertifikats entspricht, macht die Widerruflisten-Generierungsvorrichtung den Knoten zu einem widerrufenen Knoten und weist dem Knoten, der wenigstens einen widerrufenen abgeleiteten Knoten aufweist, ein Knotenwiderrufmuster zu. Das Knotenwiderrufmuster wird durch Verketten von Kennungen generiert, die jeweils identifizieren, ob ein anderer der abgeleiteten Knoten jeweils widerrufen ist oder nicht. Die Widerruflisten-Generierungsvorrichtung generiert dann eine Public-Key-Zertifikat-Widerrufliste, in der alle Knotenwiderrufmuster in der Baumstruktur auf Basis einer vorgegeben Regel angeordnet sind, die alle Knoten in der Baumstruktur verfolgt.
  • Die Widerruflisten-Nutzungsvorrichtung analysiert die Public-Key-Widerrufliste auf Basis der vorgegebenen Regel und stellt fest, ob das Public-Key-Zertifikat des zu prüfenden Gegenpartei-Datenendgeräts in der Widerrufliste registriert ist.
  • Des Weiteren ist die vorliegende Erfindung eine Vorrichtung zum Ausgeben eines Public-Key-Zertifikats, die ein Public-Key-Zertifikat für Daten ausgibt und verteilt, die aus einem öffentlichen Schlüssel eines Datenendgeräts bestehen; und eine Widerruflisten-Generierungsvorrichtung, die eine Public-Key-Zertifikat-Widerrufliste ausgibt und verteilt, die das von der Vorrichtung zum Ausgeben eines Public-Key-Zertifikats an das widerrufene Datenendgerät ausgegebene Public-Key-Zertifikat spezifiziert.
  • Die Widerruflisten-Generierungsvorrichtung konstruiert und speichert eine Baumstruktur, die aus einer Vielzahl von Ebenen besteht, und weist eindeutige Werte, von denen jeder ein Public-Key-Zertifikat eines jeweils anderen der Datenendgeräte identifiziert, zu den Blättern in der Baumstruktur zu. Wenn des Weiteren wenigstens ein Abkömmling, also ein Blatt, eines bestimmten Knotens in dem gespeicherten Baum einem eindeutigen Wert eines zu widerrufenden Public-Key-Zertifikats entspricht, macht die Widerruflisten-Generierungsvorrichtung den Knoten zu einem widerrufenen Knoten und weist dem Knoten, der wenigstens einen widerrufenen abgeleiteten Knoten aufweist, ein Knotenwiderrufmuster zu. Das Knotenwiderrufmuster wird durch Verketten von Kennungen generiert, die jeweils identifizieren, ob ein anderer der abgeleiteten Knoten jeweils widerrufen ist oder nicht. Die Widerruflisten-Generierungsvorrichtung generiert dann eine Public-Key-Zertifikat-Widerrufliste, in der alle Knotenwiderrufmuster in der Baumstruktur auf Basis einer vorgegeben Regel angeordnet sind, die alle Knoten in der Baumstruktur verfolgt.
  • Des Weiteren ist die vorliegende Erfindung eine Widerruflisten-Nutzungsvorrichtung, die ein Public-Key-Zertifikat eines zu prüfenden Gegenpartei-Datenendgeräts und eine Public-Key-Zertifikat-Widerrufliste empfängt und feststellt, ob das Public-Key-Zertifikat in der Widerrufliste registriert ist.
  • Die Widerruflisten-Nutzungsvorrichtung analysiert die Public-Key-Widerrufliste auf Basis der vorgegebenen Regel und stellt fest, ob das Public-Key-Zertifikat des zu prüfenden Gegenpartei-Datenendgeräts in der Widerrufliste registriert ist.
  • Hier kann das Authentifizierungssystem ein Kommunikationsmedium als ein Mittel zum Verteilen verwenden.
  • Hier kann die Widerruflisten-Nutzungsvorrichtung ein Kommunikationsmedium als ein Mittel zum Verteilen verwenden.
  • Hier kann das Authentifizierungssystem ein Aufzeichnungsmedium als ein Mittel zum Verteilen verwenden.
  • Hier kann die Widerruflisten-Nutzungsvorrichtung ein Aufzeichnungsmedium als ein Mittel zum Verteilen verwenden.
  • Hier kann das Authentifizierungssystem Knoten, deren absteigende Blätter alle widerrufen sind, Knotenwiderrufmuster zuweisen, welche die Knoten von Knoten unterscheiden, deren absteigende Blätter nicht alle widerrufen sind.
  • Hier kann die Widerruflisten-Generierungsvorrichtung Knoten, deren absteigende Blätter alle widerrufen sind, Knotenwiderrufmuster zuweisen, welche die Knoten von Knoten unterscheiden, deren absteigende Blätter nicht alle widerrufen sind.
  • Hier kann das Authentifizierungssystem Knotenwiderrufmuster bilden, indem Informationen, die ausdrücken, ob alle Abkömmlinge eines widerrufenen Knotens widerrufen sind oder nicht, zu den Knotenwiderrufmustern hinzugefügt werden.
  • Hier kann die Widerruflisten-Generierungsvorrichtung Knotenwiderrufmuster bilden, indem Informationen, die ausdrücken, ob alle Abkömmlinge eines widerrufenen Knotens widerrufen sind oder nicht, zu den Knotenwiderrufmustern hinzugefügt werden.
  • Hier kann das Authentifizierungssystem die Knotenwiderrufmuster auf Basis einer Regel anordnen, die an der Wurzel der Baumstruktur beginnt, wobei höheren Schichten Priorität eingeräumt wird, und innerhalb einer gleichen Schicht der linken Seite der Knoten Priorität eingeräumt wird (from the left to nodes).
  • Hier kann die Widerruflisten-Generierungsvorrichtung die Knotenwiderrufmuster auf Basis einer Regel anordnen, die an der Wurzel der Baumstruktur beginnt, wobei höheren Schichten Priorität eingeräumt wird, und innerhalb einer gleichen Schicht der linken Seite der Knoten Priorität eingeräumt wird.
  • Angenommen, hier sind alle Knoten in der Baumstruktur widerrufen. Diese Baumstruktur wird als verarbeitete Knotensammlung bezeichnet. Das Authentifizierungssystem fügt der Baumstruktur auf folgende Weise erneut nicht-widerrufene Knoten zu. Es ist anzumerken, dass das Hinzufügen neuer Knoten zu der Baumstruktur als Erweitern bezeichnet wird. Wenn eine Baumstruktur, die aus einer verarbeiteten Knotensammlung be steht, als ein Anfangszustand betrachtet wird, werden abgeleitete Knoten hinzugefügt, die zu Knoten auf der untersten Schicht der Baumstruktur gehören. Wenn auf der untersten Schicht eine Vielzahl von Knoten vorhanden ist, werden abgeleitete Knoten mit Priorität von links hinzugefügt. Nach dem Erweitern der Baumstruktur auf Basis dieser Erweiterungsregel werden Public-Key-Zertifikate zu den Knoten auf der untersten Schicht, also den Blättern zugewiesen.
  • Wenn hier ein Public-Key-Zertifikat widerrufen wird, widerruft die Widerruflisten-Generierungsvorrichtung alle Knoten an der Kante von dem widerrufenen Knoten zu der Wurzel. Die Widerruflisten-Generierungsvorrichtung ordnet die Knotenwiderrufmuster auf den widerrufenen Knoten auf Basis der Erweiterungsregel an.
  • Hier analysiert die Widerruflisten-Nutzungsvorrichtung die Public-Key-Widerrufliste, in der die Knotenwiderrufmuster wie beschrieben angeordnet worden sind, auf Basis der Erweiterungsregel und stellt fest, ob das Public-Key-Zertifikat einer zu prüfenden Gegenpartei in der Widerrufliste registriert ist.
  • 8. Weitere Modifizierungen
    • (1) Die vorliegende Erfindung können Verfahren wie durch Vorgenanntes angegeben sein. Des Weiteren können die Verfahren ein von einem Computer ausgeführtes Computerprogramm sein und können ein digitales Signal des Computerprogramms sein.
  • Des Weiteren kann die vorliegende Erfindung eine computerlesbare Aufzeichnungsmedium-Vorrichtung, wie beispielsweise eine Diskette, ein Festplatte, ein CD-ROM (Compact Disc-Read Only Memory) und MO (magneto-optische Platte), ein DVD-ROM (Digital Versatile Disk-Read Only Memory), ein DVD-RAM oder ein Halbleiterspeicher sein, der das Computerprogramm oder das digitale Signal speichert. Des Weiteren kann die vorliegende Erfindung das Computerprogramm oder das digitale Signal sein, das auf irgendeiner der vorgenannten Aufzeichnungsmedium-Vorrichtungen aufgezeichnet ist.
  • Des Weiteren kann die vorliegende Erfindung das Computerprogramm oder das digitale Signal sein, das auf einer elektrischen Kommunikationsleitung, einer drahtlosen oder Kabel-Kommunikationsleitung oder einem Netzwerk übertragen wird, für welches das Internet repräsentativ ist.
  • Des Weiteren kann die vorliegende Erfindung ein Computersystem sein, das einen Mikroprozessor und einen Speicher umfasst, wobei der Speicher ein Computerprogramm speichert und der Mikroprozessor gemäß dem Computerprogramm arbeitet.
  • Des Weiteren können durch Übertragen des Programms oder des digitalen Signals zu der Aufzeichnungsmedium-Vorrichtung oder durch Überfragen des Programms oder des digitalen Signals über ein Netzwerk oder dergleichen das Programm oder das digitale Signal von einem anderen unabhängigen Computersystem ausgeführt werden.
    • (2) Die vorliegende Erfindung kann jede Kombination der oben beschriebenen Ausführungsformen und Modifizierungen sein.
  • 9. Allgemeine Schlussfolgerung
  • Wie gemäß der offenbarten ersten Ausführungsform der Erfindung deutlich ausgeführt worden ist, ermöglicht es das Anordnen von NRPs in Schicht-Reihenfolge als Header-Informationen, die auf dem Aufzeichnungsmedium vorab aufgezeichnet werden, dass Schlüsselinformationen und eine effiziente Spezifizierung durch Spieler des verschlüsselten Medienschlüssels entschlüsselt werden können.
  • Des Weiteren können die Header-Informationen gemäß der offenbarten zweiten Ausführungsform durch Hinzufügen eines Bits als Header-Informationen zu dem Kopf von NRPs, um anzugeben, ob die Abkömmlinge eines Knotens alle widerrufene Vorrichtungen sind, größenmäßig in Fällen reduziert werden, in denen die widerrufenen Vorrichtungen in einem bestimmten Teil der Baumstruktur auftreten.
  • Des Weiteren können die Header-Informationen gemäß der offenbarten dritten Ausführungsform weiterhin größenmäßig reduziert werden, indem gemäß einem bestimmten Muster festgestellt wird, ob alle Abkömmlinge eines bestimmten Knotens widerrufene Vorrichtungen sind.
  • Des Weiteren ist es gemäß der offenbarten vierten und fünften Ausführungsform möglich, die NRPs in anderen Reihenfolgen anzuordnen als denjenigen, die in der ersten bis dritten Ausführungsform angegeben worden sind.
  • Des Weiteren ist es gemäß der in der sechsten Ausführungsform offenbarten Erfindung möglich, dass die Größe einer CRL unterdrückt wird, auch wenn die Anzahl von zu widerrufenden Public-Key-Zertifikaten sich erhöht.
  • 10. Auswirkungen der Erfindung
  • Wie beschrieben worden ist, ist die vorliegende Erfindung ein Authentifizierungssystem mit einer Widerruflisten-Generierungsvorrichtung und einer Widerruf-Feststellvorrichtung, wobei die Widerruflisten-Generierungsvorrichtung eine Widerrufliste generiert, die ein widerrufenes Public-Key-Zertifikat angibt, und die Widerruf-Feststellvorrichtung unter Verwendung der Widerrufliste feststellt, ob ein erlangtes Public-Key-Zertifikat widerrufen worden ist, und wenn festgestellt wird, dass das erlangt Public-Key-Zertifikat widerrufen worden ist, die Verwendung eines öffentlichen Schlüssels verhindert, der dem widerrufenen Public-Key-Zertifikat entspricht, wobei die Widerruflisten-Generierungsvorrichtung Folgendes umfasst: eine Baumsystem-Speichereinheit, die eine Vielzahl von Knoten aufweist, aus denen sich ein Baumsystem zusammensetzt, wobei jedes Blatt in dem Baumsystem einem anderen Public-Key-Zertifikat entspricht, eine Kennung für jedes Blatt das entsprechende Public-Key-Zertifikat identifiziert, wenigstens eines der Public-Key-Zertifikate widerrufen ist, und alle Knoten an einer Kante widerrufen sind, wobei die Kante von einer Wurzel zu dem Blatt führt, das von der Blatt-Kennung angegeben wird, die das widerrufene Public-Key-Zertifikate identifiziert; eine Widerruflisten-Generierungseinheit, die betriebsfähig ist, um für jeden widerrufenen Knoten, mit Ausnahme der Blätter, Widerruf-Informationen zu generieren, die angeben, ob jeder direkt untergeordnete Knoten des widerrufenen Knotens widerrufen ist oder nicht, wodurch eine Vielzahl von Elementen von Widerruf-Informationen erlangt wird, und um die Widerrufliste zu generieren, indem die Elemente der Widerruf-Informationen in einer Reihenfolge angeordnet werden, die in Bezug zu der Struktur des Baumsystems steht; und eine Ausgabeeinheit, die betriebsfähig ist, um die generierte Widerrufliste auszugeben, und die Widerruf-Feststellvorrichtung Folgendes umfasst: eine Zertifikat-Erlangungseinheit, die betriebsfähig ist, um ein Public-Key-Zertifikat zu erlangen, das durch eine der Blatt-Kennungen identi fiziert wird; eine Listen-Erlangungseinheit, die betriebsfähig ist, um die Widerrufliste zu erlangen; und eine Feststelleinheit, die betriebsfähig ist, um unter Verwendung der Elemente der Widerruf-Informationen in der erlangten Widerrufliste zu versuchen, eine Kante von der Wurzel zu einem Blatt zu konstruieren, das von der Blatt-Kennung identifiziert wird, und wenn das Blatt in der konstruierten Kante enthalten ist, festzustellen, dass das erlangte Public-Key-Zertifikat widerrufen ist, und wenn das Blatt nicht in der Kante enthalten ist, festzustellen, dass das erlangte Public-Key-Zertifikat gültig ist. Des Weiteren ist die vorliegende Erfindung eine Widerruflisten-Generierungsvorrichtung, die eine Widerrufliste generiert, die ein widerrufene Public-Key-Zertifikat angibt, einschließlich: einer Baumsystem-Speichereinheit, die eine Vielzahl von Knoten aufweist, aus denen sich ein Baumsystem zusammensetzt, wobei jedes Blatt in dem Baumsystem einem anderen Public-Key-Zertifikat entspricht, eine Kennung für jedes Blatt das entsprechende Public-Key-Zertifikat identifiziert, wenigstens eines der Public-Key-Zertifikate widerrufen ist, und alle Knoten an einer Kante widerrufen sind, wobei die Kante von einer Wurzel zu dem Blatt führt, das von der Blatt-Kennung angegeben wird, die das widerrufene Public-Key-Zertifikate identifiziert; einer Widerruflisten-Generierungseinheit, die betriebsfähig ist, um für jeden widerrufenen Knoten, mit Ausnahme der Blätter, Widerruf-Informationen zu generieren, die angeben, ob jeder direkt untergeordnete Knoten des widerrufenen Knotens widerrufen ist oder nicht, wodurch eine Vielzahl von Elementen von Widerruf-Informationen erlangt wird, und um die Widerrufliste zu generieren, indem die Elemente der Widerruf-Informationen in einer Reihenfolge angeordnet werden, die in Bezug zu der Struktur des Baumsystems steht; und einer Ausgabeeinheit, die betriebsfähig ist, um die generierte Widerrufliste auszugeben. Des Weiteren ist die vorliegende Erfindung eine Widerruf-Feststellvorrichtung, die unter Verwendung einer Widerrufliste, die von einer Widerruflisten-Generierungseinheit generiert worden ist und ein widerrufenes Public-Key-Zertifikat angibt, feststellt, ob ein erlangtes Public-Key-Zertifikat widerrufen ist, und nach der Feststellung, dass das erlangte Public-Key-Zertifikat widerrufen ist, die Nutzung eines öffentlichen Schlüssels verhindert, der dem widerrufenen Public-Key-Zertifikat entspricht, wobei die Widerruflisten-Generierungsvorrichtung (a) eine Vielzahl von Knoten aufweist, aus denen sich ein Baumsystem zusammensetzt, wobei jedes Blatt in dem Baumsystem einem anderen Public-Key-Zertifikat entspricht, eine Kennung für jedes Blatt das entsprechende Public-Key-Zertifikat identifiziert, wenigstens eines der Public-Key-Zertifikate widerrufen ist, und alle Knoten an einer Kante widerrufen sind, wobei die Kante von einer Wurzel zu dem Blatt führt, das von der Blatt-Kennung ange geben wird, die das widerrufene Public-Key-Zertifikate identifiziert, (b) für jeden widerrufenen Knoten, mit Ausnahme der Blätter, Widerruf-Informationen generiert, die angeben, ob jeder direkt untergeordnete Knoten des widerrufenen Knotens widerrufen ist oder nicht, wodurch eine Vielzahl von Elementen von Widerruf-Informationen erlangt wird, und (c) die Widerrufliste generiert, indem die Elemente der Widerruf-Informationen in einer Reihenfolge angeordnet werden, die in Bezug zu der Struktur des Baumsystems steht, wobei die Widerruf-Feststellvorrichtung Folgendes umfasst: eine Zertifikat-Erlangungseinheit, die betriebsfähig ist, um ein Public-Key-Zertifikat zu erlangen, das durch eine der Blatt-Kennungen identifiziert wird; eine Listen-Erlangungseinheit, die betriebsfähig ist, um die Widerrufliste zu erlangen; und eine Feststelleinheit, die betriebsfähig ist, um unter Verwendung der Elemente der Widerruf-Informationen in der erlangten Widerrufliste zu versuchen, eine Kante von der Wurzel zu einem Blatt zu konstruieren, das von der Blatt-Kennung identifiziert wird, und wenn das Blatt in der konstruierten Kante enthalten ist, um festzustellen, dass das erlangte Public-Key-Zertifikat widerrufen ist, und wenn das Blatt nicht in der Kante enthalten ist, um festzustellen, dass das erlangte Public-Key-Zertifikat gültig ist.
  • Gemäß den festgestellten Strukturen generiert die Widerruflisten-Generierungsvorrichtung Widerruf-Informationen für jeden widerrufenen Knoten, mit Ausnahme von Blättern, die angeben, ob jeder direkt untergeordnete Knoten widerrufen ist oder nicht. Daher kann die CRL auf eine relativ kleine Größe unterdrückt werden. Des Weiteren versucht die Widerruf-Feststellvorrichtung, unter Verwendung der Widerruf-Informationen eine Kante von der Wurzel zu dem Blatt zu konstruieren und stellt fest, wenn das Blatt in die Kante aufgenommen werden kann, dass das Public-Key-Zertifikat widerrufen ist. Daher kann die Widerruf-Listen-Generierungsvorrichtung mit Sicherheit feststellen, ob ein Public-Key-Zertifikat widerrufen ist.
  • Hier kann das Baumsystem in der Widerruflisten-Generierungsvorrichtung eine Vielzahl von Schichten umfassen, und die Reihenfolge, in der die Widerruflisten-Generierungsvorrichtung die erlangten Elemente der Widerruf-Informationen anordnet, kann eine Reihenfolge der Schichten von einer wurzelseitigen Schicht zu einer blattseitigen Schicht sein, wobei die Wurzel ein Ausgangspunkt ist. Des Weiteren kann das Baumsystem in der Widerruf-Feststellvorrichtung aus einer Vielzahl von Schichten bestehen, die Elemente der Widerruf-Informationen können in einer Reihenfolge der Schichten von einer wurzelseitigen Schicht zu einer blattseitigen Schicht angeordnet sein, wobei die Wurzel ein Ausgangspunkt ist, und die Feststelleinheit kann die Kante unter Verwendung der in der Reihenfolge angeordneten Element der Widerruf-Informationen konstruieren und feststellen, ob das erlangte Public-Key-Zertifikat widerrufen ist.
  • Gemäß der festgestellten Konstruktion ordnet die Widerruflisten-Generierungsvorrichtung die Vielzahl der Widerruf-Informationen in einer Reihenfolge der Schichten von einer wurzelseitigen Schicht zu einer blattseitigen Schicht an, wobei die Wurzel ein Ausgangspunkt ist. Daher kann die Widerruf-Feststellvorrichtung die Kante mit Sicherheit konstruieren.
  • Hier kann in der Widerruflisten-Generierungsvorrichtung die Reihenfolge, in der die Widerruflisten-Generierungsvorrichtung die erlangten Elemente der Widerruf-Informationen anordnet, eine Reihenfolge sein, in der die Knoten an Kanten von der Wurzel zu den Blättern positioniert sind, wobei die Wurzel ein Ausgangspunkt ist, und jeder Knoten nur ein Mal in der Reihenfolge enthalten ist. Des Weiteren kann in der Widerruf-Feststellvorrichtung die Reihenfolge, in der die Elemente der Widerruf-Informationen angeordnet sind, eine Reihenfolge sein, in der die Knoten an Kanten von der Wurzel zu den Blättern positioniert sind, wobei die Wurzel ein Ausgangspunkt ist, und jeder Knoten nur ein Mal in der Reihenfolge enthalten ist, und die Feststelleinheit kann die Kante unter Verwendung der in der Reihenfolge angeordneten Elemente der Widerruf-Informationen konstruieren und feststellen, ob das erlangte Public-Key-Zertifikat widerrufen ist.
  • Gemäß den festgestellten Strukturen ordnet die Widerruflisten-Generierungsvorrichtung die Vielzahl von Elementen der Widerruf-Informationen in einer Reihenfolge an, in der die Knoten an Kanten von der Wurzel zu den Blättern positioniert sind, wobei die Wurzel ein Ausgangspunkt ist, und jeder Knoten nur ein Mal in der Reihenfolge enthalten ist. Daher kann die Widerruf-Feststellvorrichtung die Kante mit Sicherheit konstruieren.
  • Hier kann die Widerruflisten-Generierungseinheit in der Widerruflisten-Generierungsvorrichtung die Widerruf-Informationen für alle widerrufenen Knoten, mit Ausnahme der Blätter, generieren. Des Weiteren können die Widerruf-Informationen in der Widerruf-Feststellvorrichtung für alle widerrufenen Knoten, mit Ausnahme der Blätter, generiert werden, und die Feststelleinheit kann unter Verwendung der Elemente der Widerruf-Informationen feststellen, ob das erlangte Public-Key-Zertifikat widerrufen ist.
  • Gemäß den festgestellten Strukturen generiert die Widerruflisten-Generierungsvorrichtung ein Element der Widerruf-Informationen für jeden widerrufenen Knoten mit Ausnahme der Blätter. Daher wird kein Element der Widerruf-Informationen aus der Widerrufliste weggelassen.
  • Hier kann die Widerruflisten-Generierungseinheit in der Widerruflisten-Generierungsvorrichtung spezielle Widerruf-Informationen für jeden widerrufenen Knoten, mit Ausnahme der Blätter, generieren, dessen untergeordnete Knoten alle widerrufen sind, wobei die speziellen Widerruf-Informationen angeben, dass die untergeordneten Knoten alle widerrufen sind, die Generierung von Widerruf-Informationen für die widerrufenen untergeordneten Knoten unterdrücken und die Widerruf-Informationen für jeden widerrufenen Knoten, mit Ausnahme der Blätter, generieren, für den keine speziellen Widerruf-Informationen generiert sind, wobei die Widerruf-Informationen angeben, ob jeder direkt untergeordnete Knoten des widerrufenen Knotens widerrufen ist oder nicht. Des Weiteren können spezielle Widerruf-Informationen in der Widerruf-Feststellvorrichtung für jeden widerrufenen Knoten, mit Ausnahme der Blätter, generiert werden, dessen untergeordnete Knoten alle widerrufen sind, wobei die speziellen Widerruf-Informationen angeben, dass die untergeordneten Knoten alle widerrufen sind, die Generierung von Widerruf-Informationen für die untergeordneten widerrufenen Knoten unterdrückt werden kann, die Widerruf-Informationen für jeden widerrufenen Knoten, mit Ausnahme der Blätter, generiert werden können, für den keine speziellen Widerruf-Informationen generiert werden, wobei die Widerruf-Informationen angeben, ob jeder der n direkt untergeordneten Knoten des widerrufenen Knotens widerrufen ist oder nicht, und die Feststelleinheit kann unter Verwendung der Elemente der speziellen Widerruf-Informationen und der Elemente der Widerruf-Informationen feststellen, ob das erlangte Public-Key-Zertifikat widerrufen ist.
  • Gemäß den festgestellten Strukturen generiert die Widerruflisten-Generierungsvorrichtung ein Element der speziellen Widerruf-Informationen für jeden widerrufenen Knoten, mit Ausnahme der Blätter, dessen untergeordnete Knoten alle widerrufen sind, die an geben, dass die untergeordneten Knoten alle widerrufen sind. Daher kann die Grüße der Widerrufliste sogar noch kleiner gemacht werden.
  • Hier kann das Baumsystem in der Widerruflisten-Generierungsvorrichtung ein n-närer Baum sein, wobei n eine ganze Zahl ist, die nicht kleiner als 2 ist, und die Widerruf-Informationen-Generierungseinheit kann die speziellen Widerruf-Informationen für jeden widerrufenen Knoten, mit Ausnahme der Blätter, generieren, dessen untergeordnete Knoten alle widerrufen sind, wobei die speziellen Widerruf-Informationen aus ersten angehängten Informationen, die angeben, dass alle der untergeordneten Knoten widerrufen sind, und aus n-stelligen Informationen bestehen, die angeben, dass jeder der n direkt untergeordneten Knoten widerrufen ist, die Generierung von Widerruf-Informationen für die widerrufenen untergeordneten Knoten unterdrücken und die Widerruf-Informationen für jeden widerrufen Knoten, mit Ausnahme der Blätter, generieren, für den keine speziellen Widerruf-Informationen generiert sind, wobei die Widerruf-Informationen aus zweiten angehängten Informationen, die angeben, dass nicht alle der untergeordneten Knoten widerrufen sind, und n-stelligen Informationen bestehen, die angeben, ob jeder der n direkt untergeordneten Knoten des widerrufenen Knotens widerrufen ist oder nicht. Des Weiteren können in der Widerruf-Feststellvorrichtung die speziellen Widerruf-Informationen für jeden widerrufenen Knoten, mit Ausnahme der Blätter, dessen untergeordnete Knoten alle widerrufen sind, generiert werden, die aus ersten angehängten Informationen, die angeben, dass alle der untergeordneten Knoten widerrufen sind, und aus n-stelligen Informationen bestehen, die angeben, dass jeder der n direkt untergeordneten Knoten widerrufen ist, die Generierung von Widerruf-Informationen für die widerrufenen untergeordneten Knoten kann unterdrückt werden, die für jeden Knoten, mit Ausnahme der Blätter, generierten Widerruf-Informationen, für welchen keine speziellen Widerruf-Informationen generiert sind, können aus zweiten angehängten Informationen, die angeben, dass die untergeordneten Knoten nicht alle widerrufen sind, und n-Bit-Informationen bestehen, die angeben, ob jeder der n direkt untergeordneten Knoten des widerrufenen Knotens widerrufen ist oder nicht, und die Feststelleinheit kann unter Verwendung der Elemente der speziellen Widerruf-Informationen und der Elemente der Widerruf-Informationen feststellen, ob das erlangte Public-Key-Zertifikat widerrufen ist.
  • Gemäß der festgestellten Struktur generiert die Widerruflisten-Generierungsvorrichtung die speziellen Widerruf-Informationen für jeden widerrufenen Knoten, mit Ausnahme der Blätter, dessen untergeordnete Knoten alle widerrufen sind, die aus ersten angehängten Informationen, die angeben, dass alle der untergeordneten Knoten widerrufen sind, und n-stelligen Informationen bestehen, die angeben, dass jeder der n direkt untergeordneten Knoten widerrufen ist, und generiert keine Widerruf-Informationen für alle der widerrufenen untergeordneten Knoten. Daher kann die Größe der Widerrufliste kleiner gemacht werden.
  • Hier kann das Baumsystem in der Widerruflisten-Generierungsvorrichtung ein n-närer Baum sein, wobei n eine ganze Zahl ist, die nicht kleiner als 2 ist, und die Widerruf-Informationen-Generierungseinheit kann die speziellen Widerruf-Informationen für jeden widerrufenen Knoten, mit Ausnahme der Blätter, generieren, dessen untergeordnete Knoten alle widerrufen sind, wobei die speziellen Widerruf-Informationen aus einem n-stelligen Wert bestehen, der angibt, dass jeder der n direkt untergeordneten Knoten des widerrufenen Knotens widerrufen ist, die Generierung von Widerruf-Informationen für die widerrufenen untergeordneten Knoten unterdrücken und die Widerruf-Informationen für jeden widerrufen Knoten, mit Ausnahme der Blätter, generieren, für den keine speziellen Widerruf-Informationen generiert sind, wobei die Widerruf-Informationen aus n Stellen bestehen, die angeben, ob jeder der n direkt untergeordneten Knoten des widerrufenen Knotens widerrufen ist oder nicht. Des Weiteren können in der Widerruf-Feststellvorrichtung die speziellen Widerruf-Informationen, die für jeden widerrufenen Knoten, mit Ausnahme der Blätter, dessen untergeordnete Knoten alle widerrufen sind, generiert werden, aus einem speziellen n-stelligen Wert bestehen, der angibt, ob jeder der n direkt untergeordneten Knoten des widerrufenen Knotens widerrufen ist oder nicht, die Generierung von Widerruf-Informationen für die widerrufenen untergeordneten Knoten kann unterdrückt werden, die Widerruf-Informationen, die für jeden Knoten, mit Ausnahme der Blätter, generiert sind, für den keine speziellen Widerruf-Informationen generiert sind, können n-stellige Widerruf-Informationen sein, die angeben, ob jeder der n direkt untergeordneten Knoten des widerrufenen Knotens widerrufen ist oder nicht, und die Feststelleinheit kann unter Verwendung der Elemente der speziellen Widerruf-Informationen und der Elemente der Widerruf-Informationen feststellen, ob das erlangte Public-Key-Zertifikat widerrufen ist.
  • Gemäß der festgestellten Struktur generiert die Widerruflisten-Generierungsvorrichtung die speziellen Widerruf-Informationen, die aus einem n-stelligen speziellen Wert beste hen, der angibt, dass jeder der n direkt untergeordneten Knoten widerrufen ist, und generiert keine Widerruf-Informationen für alle der widerrufenen untergeordneten Knoten. Daher kann die Größe der Widerrufliste kleiner gemacht werden.
  • Hier können in der Widerruflisten-Generierungsvorrichtung alle Knoten in der Baumsystem-Speichereinheit widerrufen werden, jedes Blatt in dem Baumsystem kann des Weiteren wenigstens einen untergeordneten Erweiterungsknoten in Übereinstimmung mit einer Erweiterungsregel aufweisen, die sich auf die Erweiterung des Baums bezieht, wobei jeder niedrigste Erweiterungsknoten ein Erweiterungsblatt ist und einem anderen Erweiterungs-Public-Key-Zertifikat entspricht, wobei eine Erweiterungsblatt-Kennung das entsprechende Erweiterungs-Public-Key-Zertifikat identifiziert, wobei wenigstens eines der Erweiterungs-Public-Key-Zertifikate widerrufen ist, und wobei alle Knoten von der Wurzel zu dem Erweiterungsblat, dessen Kennung das widerrufene Erweiterungs-Public-Key-Zertifikat identifiziert, widerrufen sind, die Widerruflisten-Generierungseinheit kann des Weiteren für jeden widerrufenen Erweiterungsknoten, mit Ausnahme der Erweiterungsblätter, Erweiterungs-Widerruf-Informationen generieren, die angeben, ob jeder direkt untergeordnete Erweiterungsknoten des widerrufenen Erweiterungsknotens widerrufen ist oder nicht, wodurch eine Vielzahl von Elementen der Erweiterungs-Widerruf-Informationen erlangt wird, und die Elemente der Erweiterungs-Widerruf-Informationen zu der Widerrufliste in Übereinstimmung mit der Erweiterungsregel hinzufügen, und die Ausgabeeinheit kann die Widerrufliste ausgeben, zu der die Erweiterungs-Widerruf-Informationen hingefügt worden sind. Des Weiteren können in der Widerruf-Feststellvorrichtung alle Knoten in der Widerruflisten-Generierungsvorrichtung widerrufen sein, jedes Blatt in dem Baumsystem kann des Weiteren wenigstens einen untergeordneten Erweiterungsknoten in Übereinstimmung mit einer Erweiterungsregel aufweisen, die sich auf die Erweiterung des Baums bezieht, wobei jeder niedrigste Erweiterungsknoten ein Erweiterungsblatt ist und einem anderen Erweiterungs-Public-Key-Zertifikat entspricht, wobei eine Erweiterungsblatt-Kennung das entsprechende Erweiterungs-Public-Key-Zertifikat identifiziert, wenigstens eines der Erweiterungs-Public-Key-Zertifikate widerrufen ist, und alle Knoten von der Wurzel zu dem Erweiterungsblatt, deren Kennung das widerrufene Erweiterungs-Public-Key-Zertifikat identifiziert, widerrufen sind, die Widerruflisten-Generierungsvorrichtung kann des Weiteren für jeden widerrufenen Erweiterungsknoten, mit Ausnahme der Erweiterungsblätter, Erweiterungs-Widerruf-Informationen generieren, die angeben, ob jeder direkt untergeordnete Erweiterungsknoten des widerrufenen Erweiterungsknotens widerrufen ist oder nicht, wodurch eine Vielzahl von Elementen der Erweiterungs-Widerruf-Informationen erlangt wird, die Elemente der Erweiterungs-Widerruf-Informationen in Übereinstimmung mit der Erweiterungsregel zu der Widerrufliste hinzufügen und die Widerrufliste ausgeben, zu der die Erweiterungs-Widerruf-Informationen hingefügt worden sind, die Zertifikats-Erlangungseinheit kann des Weiteren ein Erweiterungs-Public-Key-Zertifikat erlangen, das durch eine Erweiterungsblatt-Kennung identifiziert wird, die eines der Erweiterungsblätter angibt, die Listen-Erlangungseinheit kann die Widerrufliste erlangen, zu der die Erweiterungs-Widerruf-Informationen hinzugefügt worden sind, und die Feststelleinheit kann des Weiteren versuchen, unter Verwendung der Elemente der Erweiterungs-Widerruf-Informationen in der erlangten Erweiterungs-Widerrufliste eine Kante von der Wurzel zu dem Erweiterungsblatt zu konstruieren, das von der Erweiterungsblatt-Kennung identifiziert worden ist, und wenn das Erweiterungsblatt in der konstruierten Kante enthalten ist, feststellen, dass das erlangte Erweiterungs-Public-Key-Zertifikat widerrufen ist, und wenn das Blatt nicht in der Kante enthalten ist, feststellen, dass das erlangte Erweiterungs-Public-Key-Zertifikat gültig ist.
  • Gemäß den festgestellten Strukturen generiert die Widerruflisten-Generierungsvorrichtung für jeden widerrufenen Erweiterungsknoten, mit Ausnahme der Erweiterungsblätter, Erweiterungs-Widerruf-Informationen, die angeben, ob jeder direkt untergeordnete Erweiterungsknoten des widerrufenen Erweiterungsknotens widerrufen worden ist oder nicht. Daher kann eine CRL, die eine kleine Größe aufweist, auch dann generiert werden, wenn die Baumstruktur erweitert ist. Des Weiteren versucht die Widerruf-Feststellvorrichtung unter Verwendung der Erweiterungs-Widerruf-Informationen eine Kante von der Wurzel zu dem Erweiterungsblatt zu konstruieren und stellt, wenn das Erweiterungsblatt in der konstruierten Kante enthalten ist, fest, dass das erlangte Erweiterungs-Public-Key-Zertifikat widerrufen ist. Daher Kann die Widerruflisten-Generierungsvorrichtung mit Sicherheit feststellen, ob ein Erweiterungs-Public-Key-Zertifikat widerrufen ist.
  • Des Weiteren ist die vorliegende Erfindung eine Widerruflisten-Generierungsvorrichtung, die eine Widerrufliste generiert, die ein widerrufenes Public-Key-Zertifikat angibt, einschließlich: einer Baumsystem-Speichereinheit, die eine Vielzahl von Knoten aufweist, aus denen sich ein Baumsystem zusammensetzt, wobei jedes Blatt in dem Baumsystem einem anderen Public-Key-Zertifikat entspricht, eine Kennung für jedes Blatt das ent sprechende Public-Key-Zertifikat identifiziert, keines der Public-Key-Zertifikate widerrufen ist, und keiner der Knoten widerrufen ist; einer Widerruflisten-Generierungseinheit, die betriebsfähig ist, um festzustellen, dass keiner der Knoten widerrufen ist, und eine Knoten-Widerrufliste zu generieren, die angibt, dass kein widerrufenes Public-Key-Zertifikat vorhanden ist; und einer Ausgabeeinheit, die betriebsfähig ist, um die generierte Widerrufliste auszugeben. Des Weiteren ist die vorliegende Erfindung eine Widerruf-Feststellvorrichtung, die unter Verwendung einer Widerrufliste, die von einer Widerruflisten-Generierungseinheit generiert worden ist und ein widerrufenes Public-Key-Zertifikat angibt, feststellt, ob ein erlangtes Public-Key-Zertifikat widerrufen ist, und nach der Feststellung, dass das erlangte Public-Key-Zertifikat widerrufen ist, die Nutzung eines öffentlichen Schlüssels verhindert, der dem widerrufenen Public-Key-Zertifikat entspricht, wobei die Widerruflisten-Generierungsvorrichtung (a) eine Vielzahl von Knoten aufweist, aus denen sich ein Baumsystem zusammensetzt, jedes Blatt in dem Baumsystem einem anderen Public-Key-Zertifikat entspricht, eine Kennung für jedes Blatt das entsprechende Public-Key-Zertifikat identifiziert, und keines der Public-Key-Zertifikate widerrufen ist, und keiner der Knoten an einer Kante widerrufen ist, (b) feststellt, dass nicht alle Knoten, die das Baumsystem bilden, widerrufen sind, (c) eine Widerrufliste generiert, die angibt, dass keine widerrufenen Public-Key-Zertifikate vorhanden sind, und (d) die generierte Widerrufliste ausgibt, wobei die Widerruf-Feststellvorrichtung Folgendes umfasst: eine Zertifikat-Erlangungseinheit, die betriebsfähig ist, um ein Public-Key-Zertifikat zu erlangen, das durch eine der Blatt-Kennungen identifiziert wird; eine Listen-Erlangungseinheit, die betriebsfähig ist, um die Widerrufliste zu erlangen; und eine Feststelleinheit, die betriebsfähig ist, um unter Verwendung der erlangten Widerrufliste festzustellen, dass das erlangte Public-Key-Zertifikat widerrufen ist.
  • Wenn keine widerrufenen Public-Key-Zertifikate vorhanden sind, generiert die Widerruflisten-Generierungsvorrichtung gemäß den festgestellten Strukturen eine Widerrufliste, die angibt, dass keine widerrufenen Public-Key-Zertifikate vorhanden sind, und gibt die generierte Widerrufliste aus, wodurch die Tatsache bekannt gemacht wird, dass keine widerrufenen Public-Key-Zertifikate vorhanden sind. Des Weiteren stellt die Widerruf-Feststellvorrichtung unter Verwendung der erlangten Widerrufliste fest, dass ein bestimmtes Public-Key-Zertifikat widerrufen ist. Daher kann der öffentliche Schlüssel, der einem bestimmten Public-Key-Zertifikat entspricht, verwendet werden, wenn keine widerrufenen Public-Key-Zertifikate vorhanden sind.
  • INDUSTRIELLE ANWENDBARKEIT
  • Das oben beschriebene Authentifizierungssystem zum Feststellen, ob Public-Key-Zertifikate widerrufen sind, kann verwendet werden beim Feststellen, ob Public-Key-Zertifikate gültig sind für geheime Nachrichtenübertragung, Gegenpartei-Bestätigung, Nicht-Zurückweisung, gemeinsame Schlüsselnutzung, Coin-Flipping, Secret-Sharing und dergleichen, die ein Public-Key-Verschlüsselungsverfahren verwenden. Zum Beispiel kann die vorliegende Erfindung auf die Authentifizierung einer Treibereinheit angewendet werden, wie in der sechsten Ausführungsform gezeigt. Die vorliegende Erfindung kann auch auf die Authentifizierung von Geschäftspartnern im elektronischen Handel von Waren über das Internet angewendet werden.

Claims (23)

  1. Authentifizierungssystem, das umfasst: eine Widerruflisten-Erzeugungsvorrichtung und eine Widerruf-Feststellvorrichtung, wobei die Widerruflisten-Erzeugungsvorrichtung so eingerichtet ist, dass sie eine Widerrufliste erzeugt, die ein widerrufenes Public-Key-Zertifikat zeigt, und die Widerruf-Feststellvorrichtung so eingerichtet ist, dass sie unter Verwendung der Widerrufliste feststellt, ob ein erlangtes Public-Key-Zertifikat widerrufen wird, und, wenn sie feststellt, dass das erlangte Public-Key-Zertifikat widerrufen wird, Verwendung eines öffentlichen Schlüssels verhindert, der dem widerrufenen Public-Key-Zertifikat entspricht, wobei die Widerruflisten-Erzeugungsvorrichtung enthält: eine Baumsystem-Speichereinheit (102; 1102), die eine Vielzahl von Knoten aufweist, die ein Baumsystem bilden, wobei jedes Blatt (IK1, ... IK16) in dem Baumsystem einem anderen Public-Key-Zertifikat entspricht, jedes Blatt und das entsprechende Public-Key-Zertifikat durch eine Blatt-Kennung identifiziert werden, wenigstens eines der Public-Key-Zertifikate widerrufen wird und alle Knoten an einer Kante widerrufen werden, wobei die Kante von einer Wurzel (KeyA, T201) zu dem Blatt führt, das durch die Blatt-Kennung gezeigt wird, die das widerrufene Public-Key-Zertifikat identifiziert; eine Widerruflisten-Erzeugungseinheit (1103), die so betrieben werden kann, dass sie für jeden widerrufenen Knoten mit Ausnahme der Blätter Widerrufinformationen erzeugt, die zeigen, ob jeder direkt untergeordnete Knoten des widerrufenen Knoten widerrufen wird oder nicht, um so eine Vielzahl von Elementen von Widerrufinformationen zu erlangen, und die Widerrufliste erzeugt, indem sie die Elemente von Widerrufinformationen in einer Reihenfolge anordnet, die sich auf die Struktur des Baumsystems bezieht; und eine Ausgabeeinheit, die so betrieben werden kann, dass sie die erzeugte Widerrufliste ausgibt, und wobei die Widerruf-Feststellvorrichtung enthält: eine Zertifikat-Erlangungseinheit, die betrieben werden kann, um ein Public-Key-Zertifikat zu erlangen, das durch eine der Blatt-Kennungen identifiziert wird; eine Listen-Erlangungseinheit, die betrieben werden kann, um die Widerrufliste zu erlangen; und eine Feststelleinheit, die so betrieben werden kann, dass sie versucht, unter Verwendung der Elemente von Widerrufinformationen in der erlangten Widerrufliste eine Kante von der Wurzel zu einem Blatt zu konstruieren, das durch eine der Blatt-Kennungen identifiziert wird, und, wenn das Blatt in einer konstruierten Kante enthalten ist, feststellt, dass das erlangte Public-Key-Zertifikat widerrufen wird, und, wenn das Blatt nicht in einer Kante enthalten ist, feststellt, dass das erlangte Public-Key-Zertifikat gültig ist (S572, S573–62).
  2. Widerruflisten-Erzeugungsvorrichtung, die eine Widerrufliste erzeugt, die ein widerrufenes Public-Key-Zertifikat zeigt, wobei sie umfasst: eine Baumsystem-Speichereinheit (102; 1102), die eine Vielzahl von Knoten aufweist, die ein Baumsystem bilden, wobei jedes Blatt in dem Baumsystem einem anderen Public-Key-Zertifikat entspricht, eine Kennung jedes Blattes das entsprechende Public-Key-Zertifikat identifiziert, wenigstens eines der Public-Key-Zertifikate widerrufen wird und alle Knoten an einer Kante widerrufen werden, wobei die Kante von einer Wurzel zu dem Blatt führt, das durch die Blatt-Kennung dargestellt wird, die das widerrufene Public-Key-Zertifikat identifiziert; und dadurch gekennzeichnet, dass sie zusätzlich umfasst: eine Widerruflisten-Erzeugungseinheit (1103), die so betrieben werden kann, dass sie für jeden widerrufenen Knoten mit Ausnahme der Blätter Widerrufinformationen erzeugt, die zeigen, ob ein direkt untergeordneter Knoten des widerru fenen Knotens widerrufen wird oder nicht, um so eine Vielzahl von Elementen von Widerrufinformationen zu erlangen, und die Widerrufliste erzeugt, indem sie die Elemente von Widerrufinformationen in einer Reihenfolge anordnet, die sich auf die Struktur des Warnsystems bezieht; und eine Ausgabeeinheit, die so betrieben werden kann, dass sie die erzeugte Widerrufliste ausgibt.
  3. Widerruflisten-Erzeugungsvorrichtung nach Anspruch 2, wobei das Baumsystem eine Vielzahl von Schichten enthält, und die Reihenfolge, in der die Widerruflisten-Erzeugungseinheit (1103) die erlangten Elemente von Widerrufinformationen anordnet, eine Reihenfolge der Schichten von einer wurzelseitigen Schicht zu einer blattseitigen Schicht ist, und die Wurzel ein Ausgangspunkt ist.
  4. Widerruflisten-Erzeugungsvorrichtung nach Anspruch 2, wobei die Reihenfolge, in der die Widerruflisten-Erzeugungseinheit (1103) die erlangten Elemente von Widerrufinformationen anordnet, eine Reihenfolge ist, in der die Knoten an Kanten von der Wurzel zu den Blättern angeordnet sind, die Wurzel ein Ausgangspunkt ist und jeder Knoten in der Reihenfolge nur einmal enthalten ist.
  5. Widerruflisten-Erzeugungsvorrichtung nach Anspruch 2, wobei die Widerruflisten-Erzeugungseinheit (1103) die Widerrufinformationen für alle widerrufenen Knoten mit Ausnahme der Blätter erzeugt.
  6. Widerruflisten-Erzeugungsvorrichtung nach Anspruch 2, wobei die Widerruflisten-Erzeugungseinheit (1103) spezielle Widerrufinformationen für jeden widerrufenen Knoten mit Ausnahme der Blätter erzeugt, dessen untergeordnete Knoten sämtlich widerrufen werden, und die speziellen Widerrufinformationen zeigen, dass die untergeordneten Knoten sämtlich widerrufen werden, Erzeugung von Widerrufinformation für die widerrufenen untergeordneten Knoten unterdrückt, und die Widerrufinformationen für jeden widerrufenen Knoten mit Ausnahme der Blättererzeugt, für den keine speziellen Widerrufinformationen erzeugt werden, wobei die Widerrufinformationen zeigen, ob jeder direkt untergeordnete Knoten des widerrufenen Knotens widerrufen wird oder nicht.
  7. Widerruflisten-Erzeugungsvorrichtung nach Anspruch 6, wobei das Baumsystem ein n-närer Baum ist, n eine ganze Zahl nicht kleiner als 2 ist, und die Widerrufinformations-Erzeugungseinheit (1103) die speziellen Widerrufinformationen für jeden widerrufenen Knoten mit Ausnahme der Blätter erzeugt, dessen untergeordnete Knoten sämtlich widerrufen werden, wobei die speziellen Widerrufinformationen aus ersten angehängten Informationen, die zeigen, dass alle der untergeordneten Knoten widerrufen werden, und n-stelligen Informationen bestehen, die zeigen, dass jeder von n direkt untergeordneten Knoten widerrufen wird, Erzeugung von Widerrufinformationen für die widerrufenen untergeordneten Knoten unterdrückt, und die Widerrufinformationen für jeden widerrufenen Knoten mit Ausnahme der Blättererzeugt, für den keine speziellen Widerrufinformationen erzeugt werden, wobei die Widerrufinformationen aus zweiten angehängten Informationen, die zeigen, dass nicht alle der untergeordneten Knoten widerrufen werden, und n-stelligen Informationen bestehen, die zeigen, ob jeder von n direkt untergeordneten Knoten des widerrufenen Knotens widerrufen wird oder nicht.
  8. Widerruflisten-Erzeugungsvorrichtung nach Anspruch 6, wobei das Baumsystem ein n-närer Baum ist, n eine ganze Zahl nicht kleiner als 2 ist, und die Widerrufinformations-Erzeugungseinheit (1103) die speziellen Widerrufinformationen für jeden widerrufenen Knoten mit Ausnahme der Blätter erzeugt, dessen untergeordnete Knoten sämtlich widerrufen werden, wobei die speziellen Widerrufinformationen aus einem n-stelligen speziellen Wert bestehen, der zeigt, dass jeder von n direkt untergeordneten Knoten des widerrufenen Knotens widerrufen wird, Erzeugung von Widerrufinformationen für die widerrufenen untergeordneten Knoten unterdrückt, und die Widerrufinformationen für jeden widerrufenen Knoten mit Ausnahme von Blättern erzeugt, für den keine speziellen Widerrufinformationen erzeugt werden, wobei die Widerrufinformationen aus n Stellen besteht, die zeigen, ob jeder von n direkt untergeordneten Knoten des widerrufenen Knotens widerrufen wird oder nicht.
  9. Widerruflisten-Erzeugungsvorrichtung nach Anspruch 2, wobei alle Knoten in der Baumsystem-Speichereinheit widerrufen werden, jedes Blatt in dem Baumsystem des Weiteren wenigstens einen untergeordneten Erweiterungsknoten gemäß einer Erweiterungsregel hat, die sich auf die Erweiterung des Baumsystems bezieht, jeder niedrigste Erweiterungsknoten ein Erweiterungsblatt ist und einem anderen Erweiterungs-Public-Key-Zertifikat entspricht, eine Erweiterungsblatt-Kennung das entsprechende Erweiterungs-Public-Key-Zertifikat identifiziert, wenigstens eines der Erweiterungs-Public-Key-Zertifikate widerrufen wird und alle Knoten von der Wurzel bis zu dem Erweiterungsblatt, dessen Kennung das widerrufene Erweiterungs-Public-Key-Zertifikat identifiziert, widerrufen werden, die Widerruflisten-Erzeugungseinheit (1103) des Weiteren für jeden widerrufenen Erweiterungsknoten mit Ausnahme der Erweiterungsblätter Erweiterungs-Widerrufinformationen erzeugt, die zeigen, ob jeder direkt untergeordnete Erweiterungsknoten des widerrufenen Erweiterungsknotens widerrufen wird oder nicht, um so eine Vielzahl von Elementen von Erweiterungs-Widerrufinformationen zu erlangen, und die Elemente von Erweiterungs-Widerrufinformationen zu der Widerrufliste gemäß der Erweiterungsregel hinzufügt, und die Ausgabeeinheit die Widerrufliste ausgibt, zu der die Erweiterungs-Widerrufinformationen hinzugefügt worden sind.
  10. Widerruf-Feststellvorrichtung, mit der unter Verwendung einer Widerrufliste, die durch eine Widerruflisten-Erzeugungsvorrichtung erzeugt worden ist und die wenigstens ein widerrufenes Public-Key-Zertifikat zeigt, festgestellt wird, ob ein erlangtes Public-Key-Zertifikat widerrufen wird, und, wenn festgestellt wird, dass das erlangte Public-Key-Zertifikat widerrufen wird, die Verwendung eines öffentlichen Schlüssels verhindert wird, der dem widerrufenen Public-Key-Zertifikat entspricht, wobei die Widerruflisten-Erzeugungsvorrichtung a) eine Baumsystem-Speichereinheit (102; 1102) umfasst, die eine Vielzahl von Knoten aufweist, die ein Baumsystem bilden, wobei jedes Blatt in dem Baumsystem einem anderen Public-Key-Zertifikat entspricht, jedes Blatt und das entsprechende Public-Key-Zertifikat durch eine Blatt-Kennung identifiziert werden, wenigstens eines der Public-Key-Zertifikate widerrufen wird und alle Knoten an einer Kante widerrufen werden, wobei die Kante von einer Wurzel zu dem Blatt führt, das durch die Blatt-Kennung gezeigt wird, die das widerrufene Public-Key-Zertifikat identifiziert, b) des Weiteren eine Einrichtung zum Erzeugen von Widerrufinformationen für jeden widerrufenen Knoten mit Ausnahme der Blätter umfasst, die zeigen, ob jeder direkt untergeordnete Knoten des widerrufenen Knotens widerrufen wird oder nicht, um so eine Vielzahl von Elementen von Widerrufinformationen zu erlangen, und c) die Widerrufliste erzeugt, indem sie die Elemente von Widerrufinformationen in einer Reihenfolge anordnet, die sich auf die Struktur des Baumsystems beziehen, die Widerruf-Festsstellvorrichtung umfasst: eine Zertifikat-Erlangungseinheit, die betrieben werden kann, um ein Public-Key-Zertifikat zu erlangen, das durch eine der Blatt-Kennungen identifiziert wird; eine Listen-Erlangungseinheit, die betrieben werden kann, um die Widerrufliste zu erlangen; und dadurch gekennzeichnet, dass sie zusätzlich umfasst: eine Feststelleinheit, die so betrieben werden kann, dass sie versucht, unter Verwendung der Elemente von Widerrufinformationen in der erlangten Widerrufliste eine Kante von der Wurzel zu einem Blatt zu konstruieren, das durch die Blatt-Kennung identifiziert wird, und, wenn das Blatt in einer konstruierten Kante enthalten ist, feststellt, dass das erlangte Public-Key-Zertifikat widerrufen wird, und, wenn das Blatt nicht in einer Kante enthalten ist, feststellt, dass das erlangte Public-Key-Zertifikat gültig ist.
  11. Widerruf-Feststellvorrichtung nach Anspruch 10, wobei das Baumsystem aus einer Vielzahl von Schichten zusammengesetzt ist, die Elemente von Widerrufinformationen in einer Reihenfolge der Schichten von einer wurzelseitigen Schicht zu einer blattseitigen Schicht angeordnet sind, und die Wurzel ein Ausgangspunkt ist, und die Feststelleinheit die Kante unter Verwendung der Elemente von Widerrufinformationen konstruiert, die in der Reihenfolge angeordnet sind, und feststellt, ob das erlangte Public-Key-Zertifikat widerrufen wird.
  12. Widerruf-Feststellvorrichtung nach Anspruch 10, wobei die Reihenfolge, in der die Elemente von Widerrufinformationen anordnet sind, eine Reihenfolge ist, in der die Knoten an den Kanten von der Wurzel zu den Blättern angeordnet sind, die Wurzel ein Ausgangspunkt ist und jeder Knoten nur einmal in der Reihenfolge enthalten ist, die Feststelleinrichtung die Kante unter Verwendung der Elemente von Widerrufinformationen konstruiert, die in der Reihenfolge angeordnet sind, und feststellt, ob das erlangte Public-Key-Zertifikat widerrufen wird.
  13. Widerruf-Feststellvorrichtung nach Anspruch 10, wobei die Widerrufinformationen für alle widerrufenen Knoten mit Ausnahme der Blätter erzeugt werden, und die Feststelleinheit unter Verwendung der Elemente von Widerrufinformationen feststellt, ob das erlangte Public-Key-Zertifikat widerrufen wird.
  14. Widerruf-Feststellvorrichtung nach Anspruch 10, wobei spezielle Widerrufinformationen für jeden widerrufenen Knoten mit Ausnahme der Blätter erzeugt werden, dessen untergeordnete Knoten sämtlich widerrufen werden, die speziellen Widerrufinformationen zeigen, dass die untergeordneten Knoten sämtlich widerrufen werden, Erzeugung von Widerrufinformation für die widerrufenen untergeordneten Knoten unterdrückt wird, die Widerrufinformationen für jeden widerrufenen Knoten mit Ausnahme der Blätter erzeugt werden, für den keine speziellen Widerrufinformationen erzeugt werden, wobei die Widerrufinformationen zeigen, ob jeder von n direkt untergeordneten Knoten des widerrufenen Knotens widerrufen wird oder nicht, und die Feststelleinheit unter Verwendung der Elemente spezieller Widerrufinformationen und der Elemente von Widerrufinformationen feststellt, ob das erlangte Public-Key-Zertifikat widerrufen wird.
  15. Widerruf-Feststellvorrichtung nach Anspruch 14, wobei die speziellen Widerrufinformationen, die für jeden widerrufenen Knoten mit Ausnahme der Blätter erzeugt werden, dessen untergeordnete Knoten sämtlich widerrufen werden, aus ersten angehängten Informationen, die zeigen, dass alle der untergeordneten Knoten widerrufen werden, und n-stelligen Informationen bestehen, die zeigen, dass jeder von n direkt untergeordneten Knoten widerrufen wird, Erzeugung von Widerrufinformationen für die widerrufenen untergeordneten Knoten unterdrückt wird, die Widerrufinformationen, die für jeden Knoten mit Ausnahme der Blätter erzeugt werden, für den keine speziellen Widerrufinformationen erzeugt werden, aus zweiten angehängten Informationen, die zeigen, dass die untergeordneten Knoten nicht sämtlich widerrufen werden, und n-stelligen Informationen bestehen, die zeigen, ob jeder von n direkt untergeordneten Knoten der widerrufenen Knoten widerrufen wird oder nicht, und die Feststelleinheit unter Verwendung der Elemente spezieller Widerrufinformationen und der Elemente von Widerrufinformationen feststellt, ob das erlangte Public-Key-Zertifikat widerrufen wird.
  16. Widerruf-Feststellvorrichtung nach Anspruch 14, wobei die speziellen Widerrufinformationen, die für jeden widerrufenen Knoten mit Ausnahme der Blätter erzeugt werden, dessen untergeordnete Knoten sämtlich widerrufen werden, aus einem speziellen n-stelligen Wert besteht, der zeigt, dass jeder von n direkt untergeordneten Knoten des widerrufenen Knotens widerrufen wird, Erzeugung von Widerrufinformationen für die widerrufenen untergeordneten Knoten unterdrückt wird, die Widerrufinformationen, die für jeden Knoten mit Ausnahme der Blätter erzeugt werden, für den keine speziellen Widerrufinformationen erzeugt werden, n-stellige Widerrufinformationen sind, die zeigen, ob jeder von n direkt untergeordneten Knoten des widerrufenen Knotens widerrufen wird oder nicht, die Feststelleinheit unter Verwendung der Elemente spezieller Widerrufinformationen und der Elemente von Widerrufinformationen feststellt, ob das erlangte Public-Key-Zertifikat widerrufen wird.
  17. Widerruf-Feststellvorrichtung nach Anspruch 10, wobei alle Knoten in der Widerruflisten-Erzeugungsvorrichtung widerrufen werden, jedes Blatt in dem Baumsystem des Weiteren wenigstens einen untergeordneten Erweiterungsknoten gemäß einer Erweiterungsregel hat, die sich auf die Erweiterung des Baumsystems bezieht, jeder niedrigste Erweiterungsknoten ein Erweiterungsblatt ist und einem anderen Erweiterungs-Public-Key-Zertifikat entspricht, eine Erweiterungsblatt-Kennung das entsprechende Erweiterungs-Public-Key-Zertifikat identifiziert, wenigstens eines der Erweiterungs-Public-Key-Zertifikate widerrufen wird und alle Knoten von der Wurzel bis zu dem Erweiterungsblatt, dessen Kennung das widerrufene Erweiterungs-Public-Key-Zertifikat identifiziert, widerrufen werden, die Widerruflisten-Erzeugungsvorrichtung des Weiteren für jeden widerrufenen Erweiterungsknoten mit Ausnahme der Erweiterungsblätter Erweiterungs-Widerrufinformationen erzeugt, die zeigen, ob jeder direkt untergeordnete Erweiterungsknoten des widerrufenen Erweiterungsknotens widerrufen wird oder nicht, um so eine Vielzahl von Elementen von Erweiterungs-Widerrufinformationen zu erlangen, die Elemente von Erweiterungs-Widerrufinformationen zu der Widerrufliste gemäß der Erweiterungsregel hinzufügt, und die Widerrufliste ausgibt, zu der die Erweiterungs-Widerrufinformationen hinzugefügt worden sind, die Zertifikat-Erlangungseinheit des Weiteren ein Erweiterungs-Public-Key-Zertifikat erlangt, das durch eine Erweiterungsblatt-Kennung identifiziert wird, die eines der Erweiterungsblätter zeigt, die Listen-Erlangungseinheit die Widerrufliste erlangt, zu der die Erweiterungs-Widerrufinformationen hinzugefügt worden sind, und die Feststelleinheit des Weiteren unter Verwendung der Elemente von Erweiterungs-Widerrufinformationen in der erlangten Erweiterungs-Widerrufliste versucht, eine Kante von der Wurzel zu dem Erweiterungsblatt zu konstruieren, das durch die Erweiterungs-Blattkennung identifiziert wird, und, wenn das Erweiterungsblatt in der konstruierten Kante enthalten ist, feststellt, dass das erlangte Erweiterungs-Public-Key-Zertifikat widerrufen wird, und wenn das Blatt nicht in der Kante enthalten ist, feststellt, dass das erlangte Public-Key-Zertifikat gültig ist.
  18. Widerruflisten-Erzeugungsverfahren zum Einsatz in einer Widerruflisten-Erzeugungsvorrichtung, die eine Widerrufliste erzeugt, die ein widerrufenes Public-Key-Zertifikat zeigt, wobei die Widerruflisten-Erzeugungsvorrichtung enthält: eine Baumsystem-Speichereinheit (102; 1102), die eine Vielzahl von Knoten aufweist, die ein Baumsystem bilden, wobei jedes Blatt in dem Baumsystem einem anderen Public-Key-Zertifikat entspricht, jedes Blatt und das entsprechende Public-Key-Zertifikat durch eine Blatt-Kennung identifiziert werden, wenigstens eines der Public-Key-Zertifikate widerrufen wird und alle Knoten an einer Kante widerrufen werden, wobei die Kante von einer Wurzel zu dem Blatt führt, das durch die Blatt-Kennung gezeigt wird, die das widerrufene Public-Key-Zertifikat identifiziert; und das Widerruflisten-Erzeugungsverfahren umfasst: einen Widerruflisten-Erzeugungsschritt (S264) des Erzeugens von Widerrufinformationen, die zeigen, ob jeder direkt untergeordnete Knoten des widerrufenen Knotens widerrufen wird oder nicht, für jeden widerrufenen Knoten mit Ausnahme der Blätter, um so eine Vielzahl von Elementen von Widerrufinformationen zu erlangen, und Erzeugen der Widerrufliste durch Anordnen der Elemente von Widerrufinformationen in einer Reihenfolge, die sich auf die Struktur des Baumsystems bezieht, und einen Ausgabeschritt (S265) des Ausgebens der erzeugten Widerrufliste.
  19. Widerruflisten-Erzeugungsprogramm, das Computerprogrammmittel umfasst, die zum Durchführen aller Schritte nach Verfahrensanspruch 18 eingerichtet sind, wenn das Programm auf einem Computer ausgeführt wird.
  20. Computerlesbares Aufzeichnungsmedium, auf dem ein Widerruflisten-Erzeugungsprogramm nach Anspruch 19 aufgezeichnet ist.
  21. Widerruf-Feststellverfahren, das in einer Widerruf-Feststellvorrichtung verwendet wird, die unter Verwendung einer Widerrufliste, die durch eine Widerruflisten-Erzeugungsvorrichtung erzeugt worden ist und die ein widerrufenes Public-Key-Zertifikat zeigt, feststellt (S1307–S1310), ob ein erlangtes Public-Key-Zertifikat widerrufen wird, und, wenn festgestellt wird, dass das erlangte Public-Key-Zertifikat widerrufen wird, Verwendung eines öffentlichen Schlüssels verhindert, der dem widerrufenen Public-Key-Zertifikat entspricht, wobei die Widerruflisten-Erzeugungsvorrichtung a) eine Vielzahl von Knoten aufweist, die ein Baumsystem bilden, wobei jeder Knoten in dem Baumsystem einem anderen Public-Key-Zertifikat entspricht, jedes Blatt und das entsprechende Public-Key-Zertifikat durch eine Blatt-Kennung identifiziert werden, wenigstens eines der Public-Key-Zertifikate widerrufen wird und alle Knoten an einer Kante widerrufen werden, wobei die Kante von einer Wurzel zu dem Blatt führt, das durch die Blatt-Kennung gezeigt wird, die das widerrufene Public-Key-Zertifikat identifiziert, b) für jeden widerrufenen Knoten mit Ausnahme der Blätter Widerrufinformationen erzeugt, die zeigen, ob jeder direkt untergeordnete Knoten des widerrufenen Knotens widerrufen wird oder nicht, um so eine Vielzahl von Elementen von Widerrufinformationen zu erlangen, und c) die Widerrufliste erzeugt, indem sie die Elemente von Widerrufinformationen in einer Reihenfolge anordnet, die sich auf die Struktur des Baumsystems bezieht, wobei das Widerruf-Festsstellverfahren umfasst: einen Zertifikat-Erlangungsschritt (S569) des Erlangens eines Public-Key-Zertifikats, das durch eine der Blatt-Kennungen identifiziert wird; einen Listen-Erlangungsschritt (S562) des Erlangens der Widerrufliste; und einen Feststellschritt (S572, S573), mit dem unter Verwendung der Elemente von Widerrufinformationen in der erlangten Widerrufliste versucht wird, eine Kante von der Wurzel zu einem Blatt zu konstruieren, das durch die Blatt-Kennung identifiziert wird, und, wenn das Blatt in der konstruierten Kante enthalten ist, festgestellt wird, dass das erlangte Public-Key-Zertifikat widerrufen wird, und, wenn das Blatt nicht in der Kante enthalten ist, festgestellt wird, dass das erlangte Public-Key-Zertifikat gültig ist.
  22. Widerruf-Feststellprogramm, das Computerprogramm-Codemittel umfasst, die zum Ausführen aller Schritte von Verfahrensanspruch 21 eingerichtet sind, wenn das Programm auf einem Computer ausgeführt wird.
  23. Computerlesbares Aufzeichnungsmedium, auf dem ein Widerruf-Feststellprogramm nach Anspruch 22 gespeichert ist.
DE60310398T 2002-05-09 2003-04-14 Erzeugungsvorrichtung für eine widerrufliste für öffentliche schlüsselzertifikate, widerruf-beurteilungsvorrichtung und authentifikationssystem Expired - Fee Related DE60310398T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2002134647 2002-05-09
JP2002134647 2002-05-09
PCT/JP2003/004684 WO2003096616A1 (en) 2002-05-09 2003-04-14 Public key certificate revocation list generation apparatus, revocation judgement apparatus, and authentication system

Publications (2)

Publication Number Publication Date
DE60310398D1 DE60310398D1 (de) 2007-01-25
DE60310398T2 true DE60310398T2 (de) 2007-03-29

Family

ID=29416715

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60310398T Expired - Fee Related DE60310398T2 (de) 2002-05-09 2003-04-14 Erzeugungsvorrichtung für eine widerrufliste für öffentliche schlüsselzertifikate, widerruf-beurteilungsvorrichtung und authentifikationssystem

Country Status (8)

Country Link
US (1) US7373503B2 (de)
EP (1) EP1510036B1 (de)
KR (1) KR20040104723A (de)
CN (1) CN1666460A (de)
AU (1) AU2003226458A1 (de)
DE (1) DE60310398T2 (de)
MX (1) MXPA04011062A (de)
WO (1) WO2003096616A1 (de)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004303315A (ja) * 2003-03-31 2004-10-28 Funai Electric Co Ltd Dvd機器および所定情報記録方法
US20070016784A1 (en) * 2003-04-28 2007-01-18 Koninklijke Philips Electronics N.V. Method of storing revocation list
US7730518B2 (en) * 2003-07-31 2010-06-01 Emc Corporation Method and apparatus for graph-based partition of cryptographic functionality
US7814314B2 (en) * 2004-08-31 2010-10-12 Ntt Docomo, Inc. Revocation of cryptographic digital certificates
US8090105B2 (en) * 2004-11-24 2012-01-03 International Business Machines Corporation Broadcast encryption with dual tree sizes
US7315941B2 (en) 2004-12-17 2008-01-01 Ntt Docomo Inc. Multi-certificate revocation using encrypted proof data for proving certificate's validity or invalidity
US7266692B2 (en) 2004-12-17 2007-09-04 Ntt Docomo, Inc. Use of modular roots to perform authentication including, but not limited to, authentication of validity of digital certificates
WO2006112635A1 (en) 2005-04-19 2006-10-26 Samsung Electronics Co., Ltd Tag generation method in broadcast encryption system
KR100970391B1 (ko) 2005-04-19 2010-07-15 삼성전자주식회사 브로드 캐스트 암호화 시스템에서의 태그 형성방법
US9054879B2 (en) * 2005-10-04 2015-06-09 Google Technology Holdings LLC Method and apparatus for delivering certificate revocation lists
US9141776B2 (en) * 2008-04-30 2015-09-22 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for secure hardware analysis
KR20090115565A (ko) * 2008-05-02 2009-11-05 삼성전자주식회사 컨텐트 키 전송 방법 및 그 장치
US20100241852A1 (en) * 2009-03-20 2010-09-23 Rotem Sela Methods for Producing Products with Certificates and Keys
US8826010B2 (en) * 2010-09-17 2014-09-02 Skype Certificate revocation
CN103039034A (zh) * 2011-04-22 2013-04-10 松下电器产业株式会社 无效化列表生成装置、无效化列表生成方法及内容管理系统
US8997216B2 (en) 2011-04-25 2015-03-31 Panasonic Corporation Recording medium apparatus and control method for authenticating a device based on a revocation list
JP2013058107A (ja) * 2011-09-08 2013-03-28 Canon Inc ネットワーク印刷システムおよびプリントサーバーおよびデータベース装置とネットワーク印刷方法
JP5899751B2 (ja) * 2011-09-28 2016-04-06 ソニー株式会社 情報処理装置、および情報処理方法、並びにプログラム
US20130159526A1 (en) * 2011-12-20 2013-06-20 Htc Corporation Method of handling access control information and related communication device
CA2877451C (en) 2012-06-22 2020-11-10 Ologn Technologies Ag Systems, methods and apparatuses for securing root certificates
US9425967B2 (en) 2013-03-20 2016-08-23 Industrial Technology Research Institute Method for certificate generation and revocation with privacy preservation
WO2015092949A1 (ja) * 2013-12-16 2015-06-25 パナソニックIpマネジメント株式会社 認証システムおよび認証方法
CN104901931B (zh) * 2014-03-05 2018-10-12 财团法人工业技术研究院 证书管理方法与装置
US10333696B2 (en) 2015-01-12 2019-06-25 X-Prime, Inc. Systems and methods for implementing an efficient, scalable homomorphic transformation of encrypted data with minimal data expansion and improved processing efficiency
US10530587B2 (en) * 2015-07-07 2020-01-07 Openvpn Technologies, Inc. Web scale authentication
US10447467B2 (en) 2016-05-04 2019-10-15 International Business Machines Corporation Revocable PKI signatures
US10229270B2 (en) 2016-12-23 2019-03-12 Amazon Technologies, Inc. Host attestation
US10237249B2 (en) * 2016-12-23 2019-03-19 Amazon Technologies, Inc. Key revocation
US10230525B2 (en) 2016-12-23 2019-03-12 Amazon Technologies, Inc. Public key rollup for merkle tree signature scheme
US10333717B2 (en) * 2017-03-09 2019-06-25 Microsoft Technology Licensing, Llc Timestamped license data structure
CN106850216B (zh) * 2017-03-31 2020-03-17 西安电子科技大学 一种云数据库中密钥管理树的密钥撤销方法
CN108063756B (zh) * 2017-11-21 2020-07-03 阿里巴巴集团控股有限公司 一种密钥管理方法、装置及设备
JP6952661B2 (ja) * 2018-08-30 2021-10-20 株式会社東芝 情報処理装置、通信機器、情報処理システム、情報処理方法、および情報処理プログラム
CN110069921B (zh) * 2019-04-12 2021-01-01 中国科学院信息工程研究所 一种面向容器平台的可信软件授权验证系统及方法
US11399020B2 (en) 2019-06-28 2022-07-26 HCL Technologies Italy S.p.A System and method for authenticating server identity during connection establishment with client machine

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4309569A (en) * 1979-09-05 1982-01-05 The Board Of Trustees Of The Leland Stanford Junior University Method of providing digital signatures
US6301659B1 (en) * 1995-11-02 2001-10-09 Silvio Micali Tree-based certificate revocation system
US6901509B1 (en) * 1996-05-14 2005-05-31 Tumbleweed Communications Corp. Apparatus and method for demonstrating and confirming the status of a digital certificates and other data
US6397329B1 (en) * 1997-11-21 2002-05-28 Telcordia Technologies, Inc. Method for efficiently revoking digital identities
US6226743B1 (en) * 1998-01-22 2001-05-01 Yeda Research And Development Co., Ltd. Method for authentication item
US6850914B1 (en) * 1999-11-08 2005-02-01 Matsushita Electric Industrial Co., Ltd. Revocation information updating method, revocation informaton updating apparatus and storage medium
KR100731491B1 (ko) * 2000-10-12 2007-06-21 주식회사 케이티 인증서 폐지목록 분산 관리 방법
US20020076204A1 (en) * 2000-12-18 2002-06-20 Toshihisa Nakano Key management device/method/program, recording medium, reproducing device/method, recording device, and computer-readable, second recording medium storing the key management program for copyright protection
CN1620780A (zh) * 2001-10-26 2005-05-25 松下电器产业株式会社 密钥管理装置
BR0213959A (pt) * 2001-10-26 2004-10-19 Matsushita Electric Ind Co Ltd Sistema de proteção de obra digital, aparelho de gerenciamento de chave, e aparelho do usuário
JP3965126B2 (ja) * 2002-03-20 2007-08-29 松下電器産業株式会社 コンテンツを再生する再生装置
CN100508452C (zh) * 2002-04-17 2009-07-01 松下电器产业株式会社 信息输入/输出以及密钥管理的系统和装置
DE60323182D1 (de) * 2002-06-11 2008-10-09 Matsushita Electric Ind Co Ltd Authentifizierungssystem

Also Published As

Publication number Publication date
CN1666460A (zh) 2005-09-07
WO2003096616A1 (en) 2003-11-20
US20030217265A1 (en) 2003-11-20
EP1510036B1 (de) 2006-12-13
MXPA04011062A (es) 2005-02-14
US7373503B2 (en) 2008-05-13
AU2003226458A1 (en) 2003-11-11
DE60310398D1 (de) 2007-01-25
KR20040104723A (ko) 2004-12-10
EP1510036A1 (de) 2005-03-02

Similar Documents

Publication Publication Date Title
DE60310398T2 (de) Erzeugungsvorrichtung für eine widerrufliste für öffentliche schlüsselzertifikate, widerruf-beurteilungsvorrichtung und authentifikationssystem
DE60126874T2 (de) Vorrichtung und verfahren zur informationsverarbeitung
DE60010578T2 (de) Verfahren zur gegenseitigen Authentifikation, Aufzeichnungsgerät, Wiedergabegerät und Aufzeichnungsmedium
DE60127096T2 (de) Vorrichtung und verfahren zur informationsverarbeitung
DE60029371T2 (de) Informationsaufzeichnungsvorrichtung und Informationswiedergabevorrichtung mit Lizenzverwaltung
DE60109160T2 (de) Beschreibbares speichermedium mit geschütztem datenbereich
DE60132962T2 (de) Datenverarbeitungsvorrichtung und datenverarbeitungsverfahren
DE60130430T2 (de) Verfahren und vorrichtung zur informationsverarbeitung
DE60128290T2 (de) Vorrichtung zur Dateienverwaltung
DE60133359T2 (de) Informationsverarbeitungsvorrichtung und Informationsverarbeitungsverfahren
DE69834218T2 (de) Informationsaufzeichnungs- und -wiedergabegerät sowie Informationsverteilungssystem
DE60023340T2 (de) Verfahren zur elektronischen speicherung und wiedergewinnung von authentifizierten originaldokumenten
DE69931967T2 (de) Methode zur sicherung von elektronischer information
DE60207494T2 (de) System zum Schutz digitaler Inhalte, Aufzeichnungsgerät, Übertragungsgerät und Wiedergabegerät
DE69733986T2 (de) Vorrichtung zur verschlüsselten Kommunikation mit beschränkten Schaden bei Bekanntwerden eines Geheimschlüssels
DE602005005415T2 (de) Verfahren und Vorrichtung zur Erzeugung und gemeinsamen Nutzung eines Systemschlüssels in einem DRM-System
DE69634850T2 (de) Informationsaufzeichnungsträger, informationswiedergabegerät und informationswiedergabeverfahren
DE60202568T2 (de) Urheberrechtschutzsystem, Aufzeichungsvorrichtung, und Wiedergabevorrichtung
DE60034685T2 (de) Verschlüsselungsverfahren und -vorrichtung, entschlüsselungsvorrichtung
WO2015124726A1 (de) Verfarhen und system zum erstellen und zur gültigkeitsprüfung von gerätezertifikaten
WO2004114173A2 (de) Produktschutz-portal und verfahren zur echtheitsprüfung von produkten
DE102017214359A1 (de) Verfahren zum sicheren Ersetzen eines bereits in ein Gerät eingebrachten ersten Herstellerzertifikats
DE102004008702A1 (de) Inhaltsverschlüsselung unter Verwendung einer programmierbaren Hardware
DE102013104735A1 (de) Verfahren zum kopiergeschützten Hinterlegen von Informationen auf einem Datenträger
EP3910875A1 (de) Konzept zum austausch von kryptographischen schlüsselinformationen

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee