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