-
In
der durch das in Erscheinung tretende Internet ermöglichten
Welt eines digitalen Vermögenshandels
ermöglicht
die Einfachheit, mit der Vermögenswerte übertragen
werden können,
viele neue Geschäftsmöglichkeiten.
Leider setzt diese leichte Übertragung
digitale Vermögenswerte
auch einem weit verbreiteten illegalen Kopieren und einer Verteilung
aus. Ein Inhalt, der in einer digitalen Form ist, kann ohne eine
Verschlechterung kopiert werden. Folglich verlieren Verteiler und
Künstler
mögliche Umsätze an Kunden,
die andernfalls einen Inhalt vielleicht kaufen, aber denselben anstelle
dessen illegal erhalten.
-
Es
ist die Aufgabe der vorliegenden Erfindung, ein Verfahren, ein feldprogrammierbares
Gatterarray oder eine Vorrichtung zum Schutz digitaler Inhalte zu
schaffen.
-
Diese
Aufgabe wird durch ein Verfahren gemäß Anspruch 1, Anspruch 19 oder
Anspruch 23, eine Vorrichtung gemäß Anspruch 28 oder Anspruch 32
oder ein feldprogrammierbares Gatterarray gemäß Anspruch 30 gelöst.
-
Es
sind Verfahren und Vorrichtungen zu einer Inhaltsverschlüsselung
unter Verwendung einer programmierbaren Hardware offenbart. Bei
einem Ausführungsbeispiel
wird eine Inhaltsanforderung zu einem Inhaltsanbieter gesendet.
Ein Sitzungsschlüssel
wird ansprechend auf die Inhaltsanforderung empfangen. Der Sitzungsschlüssel wird
verwendet, um eine programmierbare Hardware mit einer ersten Konfiguration
zu konfigurieren. Ein Identifizierungsschlüssel wird erzeugt und die erste
Konfiguration der programmierbaren Hardware wird verwendet, um den
Identifizierungsschlüssel
zu verschlüsseln.
Der verschlüsselte
Identifizierungs schlüssel
wird zu dem Inhaltsanbieter gesendet. Dann wird ein verschlüsselter
Inhalt, der den Identifizierungsschlüssel enthält, empfangen.
-
Bei
einem anderen Ausführungsbeispiel
wird ein Sitzungsschlüssel
zu dem Inhaltskunden gesendet, nachdem eine Inhaltsanforderung von
einem Inhaltskunden empfangen wird. Ansprechend auf das Senden des
Sitzungsschlüssels
wird ein verschlüsselter
Identifizierungsschlüssel
empfangen. Eine programmierbare Hardware ist konfiguriert und wird
verwendet, um den verschlüsselten
Identifizierungsschlüssel
zu entschlüsseln.
Die programmierbare Hardware wird dann mit einer zweiten Konfiguration konfiguriert
und wird verwendet, um einen verschlüsselten Inhalt, der den Identifizierungsschlüssel enthält, aus
dem Inhalt zu erzeugen, der der Inhaltsanforderung zugeordnet ist.
-
Darstellende
Ausführungsbeispiele
der Erfindung sind in den Zeichnungen dargestellt.
-
Bevorzugte
Ausführungsbeispiele
der vorliegenden Erfindung werden nachfolgend bezugnehmend auf die
beiliegenden Zeichnungen näher
erläutert.
Es zeigen:
-
1 ein Blockdiagramm, das
eine exemplarische Konfiguration eines Inhaltsanbieters und eines
Inhaltskunden zeigt;
-
2 ein exemplarisches Ausführungsbeispiel
der in 1 gezeigten programmierbaren
Hardware;
-
3 ein Flußdiagramm,
das ein exemplarisches Verfahren zu einem Empfangen eines Inhalts darstellt,
der durch den Inhaltskunden von 1 verwendet
werden kann;
-
4 ein Flußdiagramm,
das das Speichern eines Inhalts darstellt, der empfangen worden
sein kann, gemäß dem in 3 dargestellten Verfahren;
-
5 ein exemplarisches Verfahren
für die Übertragung
eines verschlüsselten
Inhalts, der durch den Inhaltsanbieter von 1 verwendet werden kann;
-
6 ein Verfahren zu einem
Erzeugen von Medien mit einem verschlüsselten Inhalt gemäß einem
Ausführungsbeispiel;
-
7 ein Flußdiagramm,
das einen exemplarischen Prozeß zu
einem Zugreifen auf einen verschlüsselten Inhalt darstellt;
-
8 ein Flußdiagramm,
das einen Prozeß zu
einem Kopieren eines verschlüsselten
Inhalts gemäß einem
Ausführungsbeispiel
darstellt;
-
9 ein exemplarisches Verfahren
zu einem Bestimmen von erlaubten Urheberrechten, die bei dem Kopierprozeß von 8 verwendet werden können; und
-
10 einen exemplarischen
Zugriffsteuerprozeß.
-
Eine
exemplarische Konfiguration, die einen Inhaltsanbieter 100 enthält, der
einem Inhaltskunden 150 einen Inhalt liefert, ist in 1 gezeigt. Der Inhaltsanbieter 100 ist
kommunikativ mit dem Inhaltskunden 150 gekoppelt. Der Inhaltsanbieter 100 kann ein
Computer in einem Netzwerk sein, das einem Inhaltskunden 150 einen
Inhalt liefert. Zum Beispiel kann der Inhaltsanbieter ein Server
im World Wide Web sein, der einem Client-Kunden 150 einen
Inhalt liefert, wie beispielsweise digitale Filme, Audiodateien,
Softwareprogramme oder Textdateien.
-
Der
Inhaltsanbieter 100 kann auch ein Quellengerät sein,
beispielsweise ein Bandlaufwerk, ein Plattenlaufwerk, ein Compact-Disk-
(CD-) Laufwerk, ein CD-Abspielgerät, ein DVD-Abspielgerät (DVD = digital versatile
disk) oder ein anderes Gerät,
das einen Inhalt zu einem Kopieren, einer Wiedergabe oder einem
anderen Typ eines Inhaltszugriffs bereitstellt. Der Inhaltskunde 150 kann
ein Client-Computer oder ein Bestimmungsgerät sein, wie beispielsweise
ein Bandlaufwerk, ein Plattenlaufwerk, ein beschreibbares CD-Laufwerk, ein aufzeichenbares
DVD-Laufwerk, ein Computerbildschirm, ein Fernsehgerät, ein Stereogerät oder ein
anderes Gerät,
das ein Bestimmungsort für
eine Kopie, ein Abspielen, eine Speicherung oder einen anderen Typ
eines Inhaltszugriffs ist.
-
Der
Inhaltsanbieter 100 kann kommunikativ mit einer Inhaltsbibliothek 130 gekoppelt
sein. Die Inhaltsbibliothek 130 kann eine Computerdatei
oder eine Datenbank sein, die die eine oder mehrere Audio-, Video-,
Text- oder andere Typen von Dateien enthält, die einem Inhalt entsprechen,
der durch den Inhaltskunden 150 angefordert werden kann.
Es ist klar, daß andere
Ausführungsbeispiele
eventuell keine Inhaltsbibliothek umfassen. Anstelle dessen kann der
Inhalt, der bereitgestellt werden soll, in einem Puffer gespeichert
sein oder kann Daten sein, die auf einer Platte, einem Band, einer
CD, einer DVD oder einem anderen Typ eines Speichermediums gespeichert
sind.
-
Der
Inhaltsanbieter 100 ist ferner kommunikativ mit einer Schlüsselbibliothek 135 gekoppelt.
Die Schlüsselbibliothek 135 enthält einen
oder mehrere Schlüssel,
die als ein Teil eines Verschlüsselungsprozesses
verwendet werden sollen, der später
in dieser Anmeldung beschrieben ist. Andere Ausführungsbeispiele umfassen eventuell
keine Schlüsselbibliothek 135.
Anstelle dessen können
die Schlüssel
mit dem Inhalt, der bereitgestellt werden soll, an einer anderen
Position gespeichert, durch eine andere Quelle bereitgestellt oder „während dem
Betrieb" erzeugt werden.
-
Eine
programmierbare Hardware 120 ist kommunikativ mit dem Inhaltsanbieter 100 gekoppelt.
Eine programmierbare Hardware 170 ist ferner kommunikativ
mit dem Inhaltskunden 150 gekoppelt. Die programmierbare
Hardware 120, 170 ist ein Gerät, wie beispielsweise ein feldprogrammierbares Gatterarray
(FPGA), ein programmierbares Logikgerät (PLD = programmable logic
device) oder ein Typ eines Mikroprozessors, das mit einer Vielfalt
von unterschiedlichen Konfigurationen konfiguriert sein kann. Das
programmierbare Gerät 120, 170 manipuliert
Daten unterschiedlich gemäß einer
aktuellen Konfiguration desselben. Obwohl überall in dieser Anmeldung
auf Funktionen Bezug genommen wird, die durch eine programmierbare
Hardware durchgeführt
werden, ist zu erkennen, daß bei
alternativen Ausführungsbeispielen
diese Funktionen durch eine konfigurierbare Software durchgeführt werden
können.
-
Der
Inhaltsanbieter 100 kann die programmierbare Hardware 120 verwenden,
um einen Inhalt zu verschlüsseln.
Der Inhaltskunde 150 kann die programmierbare Hardware 170 verwenden,
um einen Inhalt zu entschlüsseln.
Der Inhaltsanbieter 100 und der Inhaltskunde 150 können Daten
konfigurieren und dieselben in die jeweiligen programmierbaren Geräte derselben
eingeben. Es ist jedoch möglich, daß einer
oder beide der Teilnehmer die Konfiguration des programmierbaren
Geräts
nicht kennen, die durch ein spezielles Konfigurationsmuster erzeugt wurde,
und folglich die Weise nicht kennen, auf die das programmierbare
Gerät Daten
manipuliert, wenn dasselbe mit einem speziellen Muster konfiguriert
ist. Ein Verwenden einer programmierbaren Hardware, um einen Inhalt
zu verschlüsseln,
kann es für
Auffänger
schwierig machen, auf einen verschlüsselten Inhalt zuzugreifen,
da eine programmierbare Hardware abhängig von der Konfiguration
derselben eine beinah unbegrenzte Anzahl von Algorithmusmöglichkeiten
liefern kann.
-
Die
programmierbare Hardware 170 umfaßt einen Schlüsselgenerator 180.
Bei einem Ausführungsbeispiel
kann der Schlüs selgenerator 180 ein Zufallszahlengenerator
sein. Der Schlüsselgenerator 180 kann
verwendet werden, um einen Identifizierungsschlüssel zu erzeugen, der bei einem
Verschlüsselungsprozeß verwendet
wird. Es ist zu erkennen, daß bei
anderen Ausführungsbeispielen
der Schlüsselgenerator 180 eine
getrennte Komponente sein kann, die kommunikativ mit der programmierbaren
Hardware 170 gekoppelt ist.
-
Ein
Speichermedium 185 kann verwendet werden, um einen Inhalt
zu speichern, der von dem Inhaltsanbieter empfangen wird. Das Speichermedium 185 kann
eine Platte, eine CD, ein Band, eine DVD oder ein anderer Typ eines
Geräts
sein, um einen Inhalt zu speichern. Es ist zu erkennen, daß einige
Ausführungsbeispiele
das Speichermedium 185 eventuell nicht umfassen. Falls
z. B. der Inhaltskunde ein Abspielgerät ist, kann ein Inhalt direkt
zu einer Komponente gesendet werden, um den Inhalt einem Benutzer
abzuspielen.
-
Bei
der oben beschriebenen Konfiguration wurden unterschiedliche Komponenten
als mit anderen Komponenten kommunikativ gekoppelt beschrieben.
Ein kommunikatives Koppeln ist ein Koppeln, das eine Kommunikation
zwischen den Komponenten erlaubt. Dies kann mittels eines Bus, eines
Kabels, eines Netzwerks, eines drahtlosen Mechanismus oder eines
anderen Mechanismus sein, der eine Kommunikation zwischen den Komponenten
erlaubt.
-
Bei
einem Ausführungsbeispiel
kann die programmierbare Hardware 170 ein feldprogrammierbares
Gatterarray (FPGA) 200 sein, wie es in 2 dargestellt ist. Das FPGA 200 umfaßt einen
Konfigurationseingang 205, um ein Konfigurationsmuster
zu empfangen, wie beispielsweise einen Konfigurationsbitstrom. Das
Konfigurationsmuster wird verwendet, um konfigurierbare Elemente 220 zu
konfigurieren. Die konfigurierbaren Elemente 220 können eine
Reihe oder Arrays von Logikgattern umfassen, wie beispielsweise
UND, ODER, NAND und NOR-Gatter. Konfigurierbare Elemente können auch
Speicherelemente sein, wie beispielsweise Flip-Flops.
-
Unterschiedliche
Konfigurationsmuster können
verwendet werden, um das FPGA 200 mit einer Vielfalt von
unterschiedlichen Konfigurationen zu konfigurieren. Der Dateneingang 215 gibt
Daten in eine Konfiguration des FPGA 200 ein. Daten werden abhängig von
der Konfiguration der konfigurierbaren Elemente unterschiedlich
manipuliert. Ein Datenausgang 225 ist mit den konfigurierbaren
Elementen gekoppelt und wird verwendet, um die manipulierten Daten
auszugeben.
-
Das
FPGA 200 umfaßt
ferner einen nicht rekonfigurierbaren Speicher 210. Der
nicht rekonfigurierbare Speicher 210 kann verwendet werden,
um einen Identifizierungsschlüssel
zu speichern, der bei dem Verschlüsselungsprozeß verwendet
wird. Das FPGA 200 umfaßt zusätzlich einen Schlüsselgenerator 230,
um den Identifizierungsschlüssel
zu erzeugen, und um den nicht rekonfigurierbaren Speicher 215 anfänglich mit
dem Identifizierungsschlüssel
zu konfigurieren. Bei anderen Ausführungsbeispielen umfaßt das FPGA 200 eventuell
nicht den nicht rekonfigurierbaren Speicher 210 oder den
Schlüsselgenerator 210.
-
3 stellt ein Verfahren zum
Empfangen eines Inhalts 300 dar, der durch einen Inhaltskunden verwendet
werden kann. Das Verfahren beginnt mit einem Senden einer Anforderung
nach einem Inhalt 305 zu einem Inhaltsanbieter. Die Anforderung
nach einem Inhalt kann eine Anforderung sein, die durch einen Client
gemacht wird, der einen Inhalt über
das Internet herunterladen will, eine Anforderung, die durch einen
Computer oder ein Bestimmungslaufwerk gemacht wird, um Daten zu
kopieren, eine Anforderung, die durch ein Abspielgerät gemacht
wird, das auf einen gespeicherten Inhalt zugreift, oder eine andere
Anforderung nach einem Inhalt.
-
Als
nächstes
wird ansprechend auf die Inhaltsanforderung ein Sitzungsschlüssel von
dem Inhaltsanbieter empfangen 310. Dieser Sitzungsschlüssel kann
ein Bitstrom oder ein anderer Typ eines Konfigurationsmusters sein,
das verwendet wird, um die programmierbare Hardware 170 zu
konfigurieren.
-
Die
programmierbare Hardware 170 wird dann mit einer ersten
Konfiguration durch ein Verwenden des Sitzungsschlüssels konfiguriert 315.
Der Sitzungsschlüssel
kann z. B. in ein Konfigurationstor eines FPGA eingegeben werden
und verwendet werden, um das FPGA zu konfigurieren. Die resultierende
Konfiguration der programmierbaren Hardware ist eine Logik, die
Daten gemäß einem
durch die Konfiguration bestimmten Algorithmus manipuliert.
-
Etwa
zu der gleichen Zeit wird ein Identifizierungsschlüssel erzeugt 320.
Der Identifizierungsschlüssel
kann eine Zufallszahl sein, die durch einen jeglichen Typ eines
auf dem Gebiet gut bekannten Zufallszahlengenerators erzeugt wird.
Derselbe kann als ein eindeutiger Identifizierer verwendet werden, um
ein Kopieren oder einen Zugriff des angefragten Inhalts zu begrenzen.
Bei einem Ausführungsbeispiel ist
die programmierbare Hardware 170 ein FPGA, das einen Zufallszahlengenerator
aufweist. Das FPGA erzeugt den Identifizierungsschlüssel durch ein
Zusammenwirken mit einer Schaltung außerhalb des FPGA, um den Generator,
wie beispielsweise einen analogen Rauschgenerator, mit einem Startparameter
zu versehen.
-
Nachdem
der Identifizierungsschlüssel
erzeugt ist, wird derselbe zu einer zukünftigen Bezugnahme gespeichert 325.
Der Identifizierungsschlüssel
kann in einem beschränkten
Bereich gespeichert werden, auf den lediglich durch die programmierbare Hardware 170,
die verwendet wird, um den Inhalt zu erhalten, oder durch eine ähnliche
programmierbare Hardware zugegriffen werden kann. Um sicherzustellen,
daß der
Bereich lediglich durch eine programmierbare Hardware zugreifbar
bleibt, können
Zugriffsanforderungen auf dem beschränkten Bereich überwacht
werden und alle Anforderungen, die nicht durch eine programmierbare
Hardware eingeleitet sind, können
blockiert werden.
-
Bei
einem Ausführungsbeispiel
kann der beschränkte
Bereich ein Bereich des gleichen Speichermediums sein, das den In halt
speichert. Dieser Bereich kann für
Benutzer durch normale Schnittstellenbefehle unzugreifbar sein.
Ein Speichern des Identifizierungsschlüssels auf dem gleichen Speichermedium
wie der Inhalt kann es einem jeglichen Gerät, das mit einer programmierbaren
Hardware 170 ausgerüstet
ist, ermöglichen,
auf den Inhalt zuzugreifen, aber Kopien des Inhalts, die nicht den
ordnungsgemäßen Identifizierungsschlüssel in
dem beschränkten
Bereich gespeichert aufweisen, sind eventuell nicht zugreifbar.
Alternativ kann der Identifizierungsschlüssel in einem Bereich gespeichert sein,
der lediglich für
diese spezielle programmierbare Hardware zugreifbar ist, wie beispielsweise
ein Speicher im Inneren der programmierbaren Hardware. Dies kann
ein Abspielen des Inhalts auf lediglich das Gerät oder die Geräte begrenzen,
die einen Zugriff auf die programmierbare Hardware aufweisen, die
verwendet wird, um den Inhalt zu erhalten.
-
Die
programmierbare Hardware wird dann verwendet, um den Identifizierungsschlüssel zu
verschlüsseln 330.
Der Identifizierungsschlüssel
kann durch die programmierbare Hardware geschickt werden, um einen
verschlüsselten
Schlüssel
zu erzeugen. Die programmierbare Hardware verschlüsselt den
Identifizierungsschlüssel
mit einem Algorithmus, der durch die erste Konfiguration der programmierbaren
Hardware bestimmt ist.
-
Als
nächstes
wird der verschlüsselte
Identifizierungsschlüssel
an den Inhaltsanbieter gesendet 335. Dann wird ein verschlüsselter
Inhalt empfangen 340. Der verschlüsselte Inhalt enthält den angeforderten
Inhalt und den Identifizierungsschlüssel in einer verschlüsselten
Form. Wie es anderswo in dieser Anmeldung beschrieben ist, kann
der Identifizierungsschlüssel
auch verwendet werden, um sicherzustellen, daß der Inhalt lediglich durch
einen Kunden entschlüsselt
werden kann, der einen Zugriff auf den Identifizierungsschlüssel aufweist.
-
Andere
Informationen können
ebenfalls zusammen mit dem verschlüsselten Inhalt empfangen werden.
Es kann ein Inhaltszugriffsschlüssel
empfangen werden, um den verschlüsselten
Inhalt zu entschlüsseln.
Falls der Inhalt mit zwei Pegeln einer Verschlüsselung gesendet wird, kann
ein Sendeschlüssel
empfangen werden, der verwendet werden kann, um den äußeren Pegel
einer Sendung zu entschlüsseln.
Andere Schlüssel,
die bei einem späteren
Kopieren oder gemeinschaftlichen Verwenden des Inhalts durch den
Kunden verwendet werden können, können ebenfalls
empfangen werden.
-
Zusätzlich können Zugriffsrechte
des Inhalts zusammen mit einem verschlüsselten Inhalt empfangen werden
oder als Teil eines Entschlüsselns
des äußeren Pegels
einer Verschlüsselung
freigelegt werden. Diese Zugriffsrechte können ein Verfallsdatum zu einem
Betrachten des oder Zugreifen auf den Inhalt, eine erlaubte Betrachtungszeit,
die die Gesamtzeitdauer begrenzt, die der Inhalt betrachtet oder
auf denselben zugegriffen werden kann, und einen erlaubten Zugriffszählwert umfassen,
der die Anzahl von Malen begrenzt, die auf den Inhalt zugegriffen
werden kann. Diese Zugriffsrechte können zu einer späteren Verwendung
zu einem beschränkten Bereich
geschrieben sein. Dieser Bereich kann der gleiche Bereich sein,
der verwendet wird, um den Identifizierungsschlüssel zu speichern, oder derselbe kann
ein unterschiedlicher Bereich sein.
-
Obwohl 3 eine Reihenfolge bei dem
Verfahren zeigt, ist zu erkennen, daß andere Ausführungsbeispiele
eine unterschiedliche Reihenfolge verwenden können. Zum Beispiel kann der
Identifizierungsschlüssel
vor einem Konfigurieren der programmierbaren Hardware 315 erzeugt
werden 320. Zusätzlich
kann der Identifizierungsschlüssel
zu einem jeglichen Punkt gespeichert werden 325, nachdem
derselbe erzeugt ist.
-
Bei
einem Ausführungsbeispiel
kann derselbe, nachdem der verschlüsselte Inhalt empfangen ist,
für einen
späteren
Zugriff oder ein Abspielen gespeichert werden. 4 stellt ein Verfahren zum Speichern
eines Inhalts 400 dar, nachdem derselbe empfangen wurde.
Der Inhalt kann mit zwei Pegeln einer Verschlüsselung zu einer zusätzlichen
Sicherheit empfangen worden sein. Der äußerste Pegel einer Verschlüsselung
kann verwendet werden, um den Inhalt und einen Inhaltszugriffsschlüssel zu
verschlüsseln,
der einen Zugriff auf den Inhalt bereitstellt. Andere Informationen,
wie beispielsweise Konfigurationsschlüssel, die bei einem späteren Kopieren
oder Zugreifen auf den Inhalt von einem zweiten Kunden des aktuellen
Inhaltskunden verwendet werden sollen, können ebenfalls mit dem äußeren Pegel einer
Verschlüsselung
verschlüsselt
worden sein.
-
Bevor
der Inhalt gespeichert wird, wird eine Bestimmung vorgenommen, ob
der Inhalt doppelt verschlüsselt
ist 405. Falls der Inhalt mit einem zweiten Pegel einer
Verschlüsselung
verschlüsselt
ist, wird auch ein Übertragungsschlüssel von
dem Inhaltsanbieter empfangen worden sein 410, um die äußerste Schicht
einer Verschlüsselung
zu entschlüsseln.
Der Übertragungsschlüssel kann
als ein Kopfblock zu dem verschlüsselten
Inhalt empfangen worden sein. Der Übertragungsschlüssel kann
beispielsweise ein Bitstrom oder ein anderer Typ eines Konfigurationsmusters
sein, das verwendet wird, um die programmierbare Hardware zu konfigurieren.
Die programmierbare Hardware ist durch ein Verwenden des Übertragungsschlüssels mit
einer zweiten Konfiguration konfiguriert 415.
-
Die
zweite Konfiguration der programmierbaren Hardware wird dann verwendet,
um den äußeren Pegel
einer Verschlüsselung
zu entschlüsseln 420. Dies
kann durch ein Schicken des verschlüsselten Inhalts durch den Dateneingang
der programmierbaren Hardware getan werden, während dieselbe mit der zweiten
Konfiguration konfiguriert ist. Als ein Teil dieses Entschlüsselungsprozesses
kann ein Inhaltszugriffsschlüssel
freigelegt werden, um den letzten Pegel eines Inhalts und andere
Informationen zu entschlüsseln,
wie beispielsweise Zugriffsrechte. Falls Zugriffsrechte freigelegt
werden, können
dieselben zu einem beschränkten
Bereich des Speichermediums geschrieben werden.
-
Nachdem
der äußere Pegel
einer Verschlüsselung
entfernt wurde oder bestimmt wurde, daß der Inhalt nicht doppelt
verschlüsselt
ist 405, wird der Inhalt, der mit dem letzten Pegel einer
Verschlüsselung verschlüsselt ist,
zusammen dem Inhaltszugriffschlüssel
gespeichert 425. Falls der Inhalt nicht doppelt verschlüsselt war,
wird der Inhaltszugriffschlüssel
ebenfalls von dem Inhaltsanbieter zusammen mit dem verschlüsselten
Inhalt empfangen. Andere Schlüssel,
die durch nachfolgende Inhaltskunden verwendet werden können, können ebenfalls
gespeichert werden. Der Inhalt kann auf einem jeglichen Typ eines
Speichermedium gespeichert werden, wie beispielsweise einer Platte,
einer CD, einem Band oder einer aufzeichenbaren DVD.
-
Der
gespeicherte verschlüsselte
Inhalt enthält
den Identifizierungsschlüssel.
Durch ein Speichern des Inhalts in einer verschlüsselten Form ist ein Zugriff
auf den nicht verschlüsselten
Inhalt auf Geräte
begrenzt, die einen Zugriff auf den Identifizierungsschlüssel haben,
der mit dem Identifizierungsschlüssel übereinstimmt,
der in dem verschlüsselten Inhalt
enthalten ist. Wie es anderswo beschrieben ist, kann dies lediglich
das Gerät
oder die Geräte
sein, die einen Zugriff auf das programmierbare Gerät haben,
das verwendet wird, um den Inhalt zu erhalten. Falls der Identifizierungsschlüssel ferner
auf dem Speichermedium gespeichert ist, kann ein Zugriff an ein
jegliches Gerät
gegeben werden, das einen Zugriff auf ein programmierbares Gerät hat, das
bei dem in 7 beschriebenen
Entschlüsselungsprozeß verwendet
werden kann.
-
5 ist ein Flußdiagramm,
das einen Inhaltsübertragungsprozeß 500 darstellt,
der durch einen Inhaltsanbieter verwendet werden kann. Nachdem eine
Anforderung nach einem Inhalt empfangen ist 505, wird ein
Sitzungsschlüssel
an den Inhaltskunden gesendet 510. Die Schlüssel, die
durch den Inhaltsübertragungsprozeß verwendet
werden, können aus
einer Schlüsselbibliothek
erhalten werden oder können
dem Inhalt zugeordnet sein, der übertragen werden
soll.
-
Als
nächstes
wird ansprechend auf den Sitzungsschlüssel ein verschlüsselter
Identifizierungsschlüssel
von dem Inhaltskunden empfangen 515. Der Identifizierungsschlüssel kann
durch den Inhaltskunden gemäß einem
Algorithmus verschlüsselt
worden sein, der durch eine programmierbare Hardware bestimmt ist,
die mit dem Sitzungsschlüssel
konfiguriert ist.
-
Der
Inhaltsanbieter hat einen Zugriff auf den Schlüssel, der benötigt wird,
um die programmierbare Hardware desselben zu konfigurieren, so daß die programmierbare
Hardware konfiguriert ist, um den Identifizierungsschlüssel zu
entschlüsseln.
Folglich ist die programmierbare Hardware des Inhaltsanbieters unter
Verwendung des geeigneten Schlüssels
in einer ersten Konfiguration konfiguriert 520. Es ist
zu erkennen, daß die
Logik im Inneren der programmierbaren Hardware des Inhaltskunden
die gleiche oder eine unterschiedliche wie die Logik im Inneren
der programmierbaren Hardware des Inhaltsanbieters sein kann. Somit
kann der Schlüssel,
der verwendet wird, um die programmierbare Hardware des Anbieters
mit dem Entschlüsselungsalgorithmus
zu konfigurieren, der gleiche wie der Sitzungsschlüssel sein, der
zu dem Inhaltskunden gesendet wird, oder derselbe kann unterschiedlich
sein.
-
Nachdem
die programmierbare Hardware konfiguriert ist, wird der Identifizierungsschlüssel gemäß dem Entschlüsselungsalgorithmus,
der durch die erste Konfiguration bestimmt ist, entschlüsselt 525.
Die programmierbare Hardware wird dann mit einer zweiten Konfiguration
unter Verwendung eines anderen Schlüssels konfiguriert 520.
Diese zweite Konfiguration der programmierbaren Hardware wird verwendet,
um den Inhalt, der durch den Kunden angefordert wird, zu verschlüsseln 535.
Während
bei einem Ausführungsbeispiel
der Inhalt verschlüsselt wird,
kann die programmierbare Hardware den Identifizierungsschlüssel auch
in eine oder mehrere Positionen des Inhalts einbringen. Alternativ
kann der Identifizierungsschlüssel
vor dem Verschlüsselungsprozeß in eine
oder mehrere Positionen des Inhalts eingebracht werden oder dem
Inhalt beigefügt
werden. Der verschlüsselte
Inhalt, der den Identifizierungsschlüssel enthält, wird dann zu dem Inhaltskunden
gesendet 540. Ein Inhaltszugriffsschlüssel, der verwendet werden
kann, um die programmierbare Hardware des Kunden zu konfigurieren,
um den verschlüsselten
Inhalt zu entschlüsseln,
wird ebenfalls gesendet. Ein Eindringling ist eventuell nicht in
der Lage, gemäß dem oben
beschriebenen Prozeß einen übertragenen
Inhalt abzufangen. Wie es mit Bezug auf 7 weiter beschrieben wird, wird bei einigen
Ausführungsbeispielen
der verschlüsselte
Inhalt eventuell nicht entschlüsselt,
wenn nicht der Benutzer einen Zugriff auf den Identifizierungsschlüssel hat,
der in dem Inhalt enthalten ist.
-
Bei
anderen Ausführungsbeispielen
können andere
Informationen mit dem Inhalt verschlüsselt sein. Zum Beispiel können Kopierprivileginformationen,
die die Kopierprivilegien des Inhalts und die Privilegien jeglicher
autorisierter Kopien des Inhalts spezifizieren, dem Inhalt beigefügt und zusammen mit
dem Inhalt verschlüsselt
werden. Schlüssel,
die es dem Inhaltskunden erlauben, als ein Inhaltsanbieter zu handeln,
können
ebenfalls mit dem Inhalt verschlüsselt
sein. Alternativ können
Informationen, wie beispielsweise die Kopierprivileginformationen
oder Schlüssel,
getrennt von dem Inhalt gesendet werden.
-
Zusätzlich kann
der verschlüsselte
Inhalt und andere Informationen, wie beispielsweise Zugriffsrechte,
andere Konfigurationsschlüssel
und der Inhaltszugriffsschlüssel,
mit einem zweiten Pegel einer Verschlüsselung verschlüsselt werden.
Um diesen zweiten Pegel einer Verschlüsselung durchzuführen, wird
ein Schlüssel
verwendet, um die programmierbare Hardware mit einer dritten Konfiguration
zu konfigurieren. Als nächstes
wird die dritte Konfiguration der programmierbaren Hardware verwendet,
um den verschlüsselten
Inhalt und andere Informationen zu verschlüsseln. Der Kunde kann dann
diesen doppelt verschlüsselten
Inhalt anstelle des ersten verschlüsselten Inhalts empfangen.
Ein Übertragungsschlüssel, der
verwendet werden kann, um die programmierbare Hardware des Kunden
zu konfigurieren, um den äußeren Pegel
einer Verschlüsselung
zu entfernen, kann ebenfalls gesendet werden.
-
6 stellt ein Verfahren zum
Erzeugen von Medien für
eine spätere
Verteilung dar. Dieser Prozeß kann
durch einen Hersteller von DVD-Filmen oder Musik-CDs verwendet werden.
Es ist zu erkennen, daß andere
Ausführungsbeispiele
eine unterschiedliche Reihenfolge verwenden können, als dieselbe, die in 6 dargestellt ist.
-
Zuerst
wird ein Identifizierungsschlüssel
erhalten 605, der verwendet werden soll, um diese Medien
eindeutig zu identifizieren. Der Identifizierungsschlüssel kann
für alle
Medien, die den gleichen Inhalt enthalten, identisch sein oder jedes
Medium kann einen eigenen Identifizierungsschlüssel aufweisen. Der Identifizierungsschlüssel kann
erzeugt werden oder derselbe kann aus einer Schlüsselbibliothek oder einer anderen
Position erhalten werden.
-
Als
nächstes
wird die programmierbare Hardware konfiguriert. Die resultierende
Konfiguration der programmierbaren Hardware ist eine Logik, die
Daten gemäß einem
durch die Konfiguration bestimmten Algorithmus manipuliert. Diese
Konfiguration der programmierbaren Hardware wird verwendet, um den
Medieninhalt zu verschlüsseln 615.
-
Als
ein Teil des Verschlüsselungsprozesses 615 kann
die programmierbare Hardware ferner den Identifizierungsschlüssel in
eine oder mehrere Positionen des Inhalts einbringen. Alternativ
kann der Identifizierungsschlüssel
vor dem Ver schlüsselungsprozeß in eine
oder mehrere Positionen des Inhalts eingebracht oder dem Inhalt
beigefügt
werden.
-
Zu
etwa der gleichen Zeit wird der Identifizierungsschlüssel zu
einem beschränkten
Bereich der Medien geschrieben 620. Dieser Bereich ist
ein Bereich, der durch einen Benutzer eventuell nicht zugreifbar
ist. Bei einem Ausführungsbeispiel
kann der beschränkte
Bereich ein Bereich sein, der lediglich durch eine programmierbare
Hardware zugreifbar ist.
-
Der
verschlüsselte
Inhalt, der den Identifizierungsschlüssel enthält, wird dann zu den Medien
geschrieben 630. Ein Inhaltszugriffsschlüssel, der
verwendet werden soll, um die programmierbare Hardware des Kunden
zu konfigurieren, um den verschlüsselten
Inhalt zu entschlüsseln,
kann ebenfalls zu den Medien als ein Kopfblock zu dem Inhalt geschrieben
werden.
-
Wie
bei einem Inhalt, der durch einen Inhaltskunden empfangen wird,
kann auf den durch diesen Prozeß erzeugten
Medieninhalt in einem Prozeß zugegriffen
werden, der demselben ähnlich
ist, der unten mit Bezug auf 7 beschrieben
ist. Falls bei einem Ausführungsbeispiel
das Medium nicht den Identifizierungsschlüssel enthält, der mit dem Identifizierungsschlüssel übereinstimmt,
der in den Inhalt eingebracht wurde, wird der Inhalt nicht entschlüsselt. Somit
kann das oben beschriebene Ausführungsbeispiel
ein illegales Kopieren unterbinden, da der zu dem beschränkten Bereich
geschriebene Identifizierungsschlüssel während eines unbefugten Kopierprozesses
nicht kopiert werden kann.
-
7 stellt ein Verfahren zum
Zugreifen auf den verschlüsselten
Inhalt 700 dar. Auf den verschlüsselten Inhalt kann sofort
zugegriffen werden, nachdem derselbe erhalten wird, oder auf denselben kann
von einem Speichermedium zugegriffen werden. Gemäß einem Ausführungsbeispiel
kann der Inhalt lediglich während
eines befugten Kopierens ent schlüsselt
werden, wie es in 8 beschrieben
ist, oder falls der Inhalt abgespielt oder verwendet wird. Dies
liefert einen zusätzlichen
Schutz für
den Inhalt, da der Benutzer niemals einen Zugriff auf den nicht verschlüsselten
Inhalt hat.
-
Das
Verfahren beginnt durch ein Erhalten eines Inhaltszugriffsschlüssels 705,
der als ein Schlüssel
verwendet wird, um den Inhalt zu entschlüsseln. Dieser Schlüssel kann
gesendet oder als ein Kopfblock zu dem verschlüsselten Inhalt gespeichert
worden sein. Bei einem Ausführungsbeispiel
wird der Inhaltszugriffsschlüssel
durch ein Entfernen eines äußeren Pegels
einer Verschlüsselung
erhalten, wie es mit Bezug auf 4 beschrieben
ist.
-
Als
nächstes
wird eine programmierbare Hardware zur Verwendung des Inhaltszugriffsschlüssels konfiguriert 710.
Die resultierende Konfiguration der programmierbaren Hardware ist
eine Logik, die Daten gemäß einem
durch die Konfiguration bestimmten Entschlüsselungsalgorithmus manipuliert.
-
Dann
wird ein Inhaltsidentifizierungsschlüssel, der in dem verschlüsselten
Inhalt enthalten ist, erhalten 715. Dieser Inhaltsidentifizierungsschlüssel kann
durch ein Schicken eines Abschnitts des verschlüsselten Inhalts durch die konfigurierte
programmierbare Hardware erhalten werden, bis der Inhaltsidentifizierungsschlüssel lokalisiert
ist. Zu etwa der gleichen Zeit wird auch ein Benutzeridentifizierungsschlüssel erhalten 720.
Der Benutzeridentifizierungsschlüssel
kann von einem Speicherbereich des programmierbaren Geräts, einem
beschränkten
Bereich auf einem Speichermedium oder einer anderen Position wiedererlangt
werden.
-
Als
nächstes
wird der Inhaltsidentifizierungsschlüssel mit dem Benutzeridentifizierungsschlüssel verglichen 725.
Falls die Schlüssel
nicht übereinstimmen,
wird der Inhalt nicht entschlüsselt
und ein Zugriff auf den Inhalt ist beschränkt oder verweigert 735.
Falls der Inhaltsidentifizierungs chlüssel mit dem Benutzeridentifizierungsschlüssel übereinstimmt, wird
der Inhalt unter Verwendung der konfigurierten programmierbaren
Hardware entschlüsselt 730.
Dies kann durch ein Schicken des verschlüsselten Inhalts durch einen
Dateneingang der programmierbaren Hardware geschehen. Der geschickte
Inhalt wird dann gemäß einem
durch die Konfiguration der programmierbaren Hardware bestimmten
Entschlüsselungsalgorithmus
entschlüsselt.
Bei anderen Ausführungsbeispielen
kann der entschlüsselte
Inhalt dann durch einen Digital-Zu-Analog-Wandler geschickt werden,
der mit der programmierbaren Hardware gekoppelt ist, so daß der nicht
verschlüsselte
Inhalt lediglich in einem analogen Format verfügbar ist.
-
8 stellt ein Verfahren dar,
das verwendet wird, um einen verschlüsselten Inhalt zu kopieren. Nachdem
ein Host eine Kopieranforderung einleitet 800, wird eine
Bestimmung vorgenommen, ob ein Kopieren erlaubt ist 810.
Ein Prozeß,
der verwendet werden kann, um zu bestimmen, ob ein Kopieren erlaubt
ist, ist in 9 gezeigt.
-
Unter
Bezugnahme auf 9 ist
eine programmierbare Hardware unter Verwendung eines Inhaltszugriffsschlüssels konfiguriert 905.
Die programmierbare Hardware kann dem Quellengerät oder dem Zielgerät für das Kopieren
zugeordnet sein. Der Inhaltszugriffsschlüssel kann von einem Kopfblock an
dem verschlüsselten
Inhalt oder einer anderen Position erhalten worden sein. Die resultierende
Konfiguration der programmierbaren Hardware ist eine Logik, die
Daten gemäß einem
durch die Konfiguration bestimmten Entschlüsselungsalgorithmus manipuliert.
-
Unter
Verwendung der ersten Konfiguration der programmierbaren Hardware
werden ein Inhaltsidentifizierungsschlüssel und Kopierprivileginformationen
erhalten 910. Der Inhaltsidentifizierungsschlüssel kann
durch ein Schicken eines Abschnitts des verschlüsselten Inhalts durch die konfigurierte Hardware
erhalten werden, bis der Inhaltsidentifizie rungsschlüssel lokalisiert
ist. Die Kopierprivileginformationen können auf eine ähnliche
Weise erhalten werden oder dieselben können von einem beschränkten Bereich
oder einem anderen Bereich auf einem Speichermedium erhalten werden.
Falls die Kopierprivileginformationen verschlüsselt sind, können dieselben
durch ein Schicken derselben durch die erste Konfiguration der programmierbaren
Hardware entschlüsselt
werden. Andere Ausführungsbeispiele
umfassen eventuell keine Kopierprivileginformationen.
-
Als
nächstes
wird der Inhaltsidentifizierungsschlüssel mit einem Benutzeridentifizierungsschlüssel verglichen 915.
Der Benutzeridentifizierungsschlüssel
kann von einem beschränkten
Bereich erhalten werden, wie beispielsweise einem Bereich auf einem
Speichermedium, der für
Benutzer nicht zugreifbar ist. Falls die Schlüssel nicht übereinstimmen 920,
wird eine Bestimmung vorgenommen, daß ein Kopieren nicht erlaubt
ist 925.
-
Falls
die Schlüssel übereinstimmen,
kann eine andere Überprüfung vorgenommen
werden, um zu bestimmen, ob die Kopierprivilegien ein Kopieren erlauben 930.
Die Kopierprivileginformationen, die bei 910 erhalten wurden,
werden gelesen, um zu bestimmen, welche Kopierprivilegien dem verschlüsselten
Inhalt zugeordnet sind. Die Kopierprivilegien gewähren eventuell
unbegrenzte Urheberrechte, ein Kopieren von lediglich einer festgelegten
Anzahl von Kopien oder gar kein Kopieren. Es können auch andere Kopierprivileginformationen
enthalten sein. Zum Beispiel können
die Kopierprivileginformationen Kopierprivilegien umfassen, die
einer befugten Kopie gewährt
werden sollen. Diese Privilegien können die gleichen wie oder
unterschiedlich zu den Kopierprivilegien des ursprünglichen
Inhalts sein. Es ist zu erkennen, daß bei anderen Ausführungsbeispielen,
die keine Kopierprivileginformationen umfassen, eine Bestimmung
vorgenommen werden kann, daß ein Kopieren
erlaubt ist, falls die Schlüssel übereinstimmen.
-
Falls
die Kopierprivilegien kein Kopieren erlauben, wird eine Bestimmung
vorgenommen, daß ein
Kopieren nicht erlaubt ist 925. Falls die Privilegien unbegrenzte
Kopien erlauben 935, wird eine Bestimmung vorgenommen,
daß ein
Kopieren erlaubt ist.
-
Falls
die Privilegien lediglich eine feste Anzahl von Kopien erlauben,
wird eine Kopierhistorie gelesen 940. Die Kopierhistorie
kann von einem beschränkten
Bereich auf einem Speichermedium oder einer anderen Position gelesen
werden. Die Kopierhistorie kann eine Historie der Anzahl von gemachten Kopien
und die Daten, zu denen diese Kopien gemacht wurden, umfassen. Falls
die Kopierhistorie verschlüsselt
ist, kann dieselbe durch ein Schicken derselben durch die erste
Konfiguration der programmierbaren Hardware entschlüsselt werden.
-
Falls
bei einem Ausführungsbeispiel
die Anzahl von durch die Kopierprivilegien erlaubten Kopien geringer
ist als die Anzahl von gemachten Kopien 945, wird eine
Bestimmung vorgenommen, daß ein Kopieren
erlaubt ist. Andernfalls wurde die befugte Anzahl von Kopien gemacht
und es ist kein weiteres Kopieren erlaubt 925. Falls eine
Kopie erlaubt ist, kann die Kopierhistorie bei einem gewissen Punkt
in dem Kopierprozeß aktualisiert
werden, um die Informationen aufzuzeichnen, die dem Herstellen der neuen
Kopie zugeordnet sind.
-
Falls,
wieder mit Bezug auf 8,
eine Bestimmung vorgenommen wird, daß ein Kopieren nicht erlaubt
ist, wird die Anforderung, um die Daten zu kopieren, verweigert 825.
Andernfalls wird der Inhalt entschlüsselt 820. Der Inhalt
kann in einem Prozeß entschlüsselt werden,
der demselben ähnlich
ist, der mit Bezug auf 7 beschrieben
ist, und kann durch ein programmierbares Gerät durchgeführt werden, das dem Quellengerät zugeordnet
ist, wie beispielsweise ein Laufwerk oder ein aufzeichenbares CD-Laufwerk.
-
Entweder
nachdem der Inhalt entschlüsselt ist
oder als ein Teil des Entschlüsselungsprozesses wird
der Inhaltsidentifizierungsschlüssel,
der dem Inhalt zugeordnet ist, entfernt 830. Ein neuer
Identifizierungsschlüssel,
der bei der Kopie des Inhalts verwendet werden soll, wird empfangen 835.
Dieser neue Identifizierungsschlüssel
kann durch das Zielgerät erzeugt
werden und kann in einem Prozeß empfangen
werden, der demselben ähnlich
ist, der in 510, 515, 520 und 525 beschrieben
ist.
-
Das
programmierbare Gerät
ist dann unter Verwendung eines Schlüssels, der die programmierbare
Hardware mit einem Verschlüsselungsalgorithmus
konfiguriert, konfiguriert 840. Dieser Schlüssel kann
mit dem Inhalt gespeichert sein, kann aus einer Schlüsselbibliothek
erhalten werden oder kann von einer anderen Position erhalten werden.
Die zweite Konfiguration der programmierbaren Hardware wird verwendet,
um den Inhalt zu verschlüsseln 845.
Der neue Identifizierungsschlüssel
wird entweder bevor der Inhalt verschlüsselt wird oder als ein Teil
des Verschlüsselungsprozesses
einer oder mehreren Positionen des Inhalts beigefügt oder
in dieselben eingebracht. Kopierprivileginformationen, die der Kopie
zugeordnet sind, können
auch mit dem Inhalt verschlüsselt
werden. Alternativ können
die Kopierprivileginformationen der Kopie in einer nicht verschlüsselten Form
dem Inhalt beigefügt
werden.
-
Als
nächstes
wird der verschlüsselte
Inhalt zu dem Zielgerät
gesendet, um zu dem Kopiermedium kopiert zu werden 850.
Ein Kopfblock, der den Inhaltszugriffsschlüssel und jegliche andere Schlüssel und
Informationen enthält,
kann zusammen mit dem verschlüsselten
Inhalt gesendet werden. Zusätzlich kann
der Inhalt mit einem zweiten Pegel einer Verschlüsselung zu dem Zielgerät gesendet
werden. Ein Prozeß,
der demselben ähnlich
ist, der in 4 beschrieben
ist, kann durch das Zielgerät
verwendet werden, um den äußeren Pegel
einer Verschlüsselung
zu entfernen, bevor der Inhalt zu dem Medium geschrieben wird. Falls
die Kopierprivilegin formationen nicht als ein Teil des Inhalts verschlüsselt sind, kann
das Zielgerät
die Kopierprivileginformationen bevor, während oder nachdem der verschlüsselte Inhalt
zu dem Medium kopiert wird zu einem beschränkten Bereich des Kopiermediums
schreiben.
-
Es
ist zu erkennen, daß andere
Ausführungsbeispiele
Variationen zu dem oben beschriebenen Kopierprozeß umfassen
können.
Zum Beispiel ist es möglich,
daß der
ursprüngliche
Inhalt nicht entschlüsselt
wird, und es ist möglich,
daß der
Identifizierungsschlüssel
nicht entfernt wird. Anstelle dessen kann die Kopie den gleichen
Identifizierungsschlüssel
verwenden, wie der ursprüngliche
Inhalt. Der ursprüngliche
Inhaltsidentifizierungsschlüssel kann
dann zu dem Zielgerät
gesendet werden, um zu einem beschränkten Bereich des Kopiermediums
geschrieben zu werden, so daß auf
die Inhalte der Kopie zugegriffen werden kann. Zu Sicherheitszwecken kann
der Inhaltsidentifizierungsschlüssel
zusammen mit dem verschlüsselten
Inhalt in einem zweiten Pegel einer Verschlüsselung verschlüsselt werden,
bevor derselbe zu dem Zielgerät
gesendet wird.
-
10 stellt einen Prozeß dar, der
verwendet werden kann, um den Zugriff auf einen Inhalt zu steuern 1000.
Eine programmierbare Hardware, die dem Gerät zugeordnet ist, das einen
Zugriff auf den Inhalt anfordert, wird unter Verwendung eines Inhaltszugriffsschlüssels konfiguriert 1005.
Der Inhaltszugriffsschlüssel
kann als ein Kopfblock zu dem verschlüsselten Inhalt oder bei einer
anderen Position gespeichert sein.
-
Dann
werden Zugriffsrechte und ein dem Inhalt zugeordneter Identifizierungsschlüssel erhalten 1010.
Der Inhaltsidentifizierungsschlüssel
kann beispielsweise durch ein Schicken eines Abschnitts des Inhalts
durch das programmierbare Gerät
erhalten werden. Die Zugriffsrechte können auf eine ähnliche Weise
erhalten werden oder können
von einem beschränkten
Bereich gelesen werden. Falls die Zugriffsrechte in einer verschlüsselten
Form auf dem beschränkten
Bereich gespeichert sind, kann das programmierbare Gerät verwendet
werden, um die Zugriffsrechte zu entschlüsseln. Die Zugriffsrechte können eine
erlaubte Anzahl von Malen, die auf den Inhalt zugegriffen werden
kann, eine erlaubte Zeitdauer, die der Inhalt betrachtet oder auf
denselben zugegriffen werden kann, eine gesamte verstrichene Betrachtungszeit,
die der Inhalt betrachtet werden kann, und/oder ein Verfallsdatum
zu einem Zugreifen auf den Inhalt umfassen. Es können auch andere Zugriffsrechte
enthalten sein.
-
Als
nächstes
wird der Inhaltsidentifizierungsschlüssel mit einem Benutzeridentifizierungsschlüssel verglichen 1015.
Der Benutzeridentifizierungsschlüssel
kann von einem beschränkten
Bereich erhalten werden, wie beispielsweise einem Bereich auf einem
Speichermedium, das für
Benutzer nicht zugreifbar ist. Falls die Schlüssel nicht übereinstimmen 1020,
wird ein Zugriff auf den Inhalt verweigert 1025.
-
Falls
die Schlüssel übereinstimmen 1020, wird
eine Zugriffshistorie gelesen 1030. Die Zugriffshistorie
kann von einem beschränkten
Bereich auf dem Speichermedium, das den Inhalt enthält, oder einer
anderen Position gelesen werden. Falls die Zugriffshistorie verschlüsselt ist,
kann dieselbe durch ein Schicken derselben durch die konfigurierte
programmierbare Hardware entschlüsselt
werden. Bei Ausführungsbeispielen,
bei denen die Zugriffsrechte ein Verfallsdatum umfassen, wird die
Zugriffshistorie eventuell nicht gelesen oder eventuell gelesen,
nachdem eine Bestimmung vorgenommen wird, daß das Verfallsdatum noch nicht
erreicht wurde.
-
Es
wird eine Bestimmung vorgenommen, ob die Zugriffsprivilegien überschritten
wurden 1035. Bei einem Ausführungsbeispiel
umfassen die Zugriffsrechte eine Gesamtanzahl von befugten Zugriffen. Falls
die Zugriffshistorie Informationen umfaßt, daß auf den Inhalt weniger oft
zugegriffen wurde als die Anzahl von befugten Zugriffen, wird ein
Zugriff auf den Inhalt erlaubt 1040, solange keine anderen
Zugriffsprivilegien überschritten
wurden. Falls die Zugriffshistorien Informationen angeben, daß auf den Inhalt
die befugte Anzahl von Malen zugegriffen wurde, wird ein Zugriff
auf den Inhalt verweigert 1025. Eine ähnliche Überprüfung wird vorgenommen, falls die
Zugriffsprivilegien eine gesamte verstrichene Betrachtungszeit umfassen,
die ein Benutzer den Inhalt betrachten kann.
-
Bei
einem Ausführungsbeispiel
können
die Zugriffsrechte ein Verfallsdatum zusätzlich oder anstelle anderer
Zugriffsrechte umfassen. Das Verfallsdatum kann ein absolutes Datum
sein oder kann ein Datum relativ zu dem Datum sein, an dem der Inhalt erhalten
wurde. Bei diesem Ausführungsbeispiel kann
das Verfallsdatum mit dem Datumscode verglichen werden, der dem
Gerät zugeordnet
ist, das auf den Inhalt zugreift. Falls das Verfallsdatum überschritten
wurde, wird ein Zugriff auf den Inhalt verweigert 1025.
Zu einer zusätzlichen
Sicherheit kann der Datumscode durch eine nichtflüchtige zeitnehmende Schaltung
erzeugt werden, die ein Teil der programmierbaren Hardware sein
kann. Falls eine Leistung von der zeitnehmenden Schaltung entfernt
wird, kann die Schaltung in einen Zustand rückgesetzt werden, der allen
datumscodierten Inhalt unzugreifbar macht.
-
Andere
Zugriffsrechte als dieselben, die oben beschrieben sind, werden
auch betrachtet. Die Bestimmung, ob die Zugriffsprivilegien überschritten wurden,
können
abhängig
von dem zu analysierenden Zugriffsrecht variieren. Falls bei einigen
Ausführungsbeispielen
die Zugriffsprivilegien überschritten wurden,
kann der Inhalt zerstört
werden. Dies kann durch ein Überschreiben
eines Teils oder alles des Inhalts erzielt werden. Falls ein Zugriff
auf den Inhalt erlaubt ist, kann die Zugriffshistorie aktualisiert
werden, um den neuen Zugriff wiederzuspiegeln. Vor einem Aktualisieren
der Zugriffshistorie kann die Aktivität des Benutzers überwacht
werden, um eine gesamte verstrichene Be trachtungszeit zu bestimmen,
die der Benutzer den Inhalt betrachtet hat.
-
Es
ist zu erkennen, daß es
viele Arten gibt, auf die die Zugriffsrechte gespeichert und erhalten werden
können.
Bei einem Ausführungsbeispiel
können
die Zugriffsrechte aktualisierbar sein. Eine zusätzliche Sicherheit kann durch
ein Verschlüsseln
der Zugriffsrechte mit einem Zugriffsidentifizierungsschlüssel geliefert
werden. Ein Prozeß,
der dem Prozeß ähnlich ist,
der in 3 und 5 beschrieben ist, kann
verwendet werden, um neue oder aktualisierte Zugriffsrechte zu übertragen
und zu empfangen. Aktualisierte Zugriffsrechte können mit einem unterschiedlichen
Zugriffsidentifizierungscode verschlüsselt werden, als die ursprünglich empfangenen Zugriffsrechte.
Die neuen oder aktualisierten Zugriffsrechte und der den Zugriffsrechten
zugeordnete Identifizierungsschlüssel
können
zu einem beschränkten
Bereich auf dem gleichen Speichermedium geschrieben werden, das
den Inhalt enthält,
auf den zugegriffen werden soll.