DE102004008702A1 - Inhaltsverschlüsselung unter Verwendung einer programmierbaren Hardware - Google Patents

Inhaltsverschlüsselung unter Verwendung einer programmierbaren Hardware Download PDF

Info

Publication number
DE102004008702A1
DE102004008702A1 DE102004008702A DE102004008702A DE102004008702A1 DE 102004008702 A1 DE102004008702 A1 DE 102004008702A1 DE 102004008702 A DE102004008702 A DE 102004008702A DE 102004008702 A DE102004008702 A DE 102004008702A DE 102004008702 A1 DE102004008702 A1 DE 102004008702A1
Authority
DE
Germany
Prior art keywords
content
configuration
programmable hardware
key
identification key
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE102004008702A
Other languages
English (en)
Other versions
DE102004008702B4 (de
Inventor
Darwin Mitchel Fort Collins Hanks
Alexandra Boulder Delorme
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of DE102004008702A1 publication Critical patent/DE102004008702A1/de
Application granted granted Critical
Publication of DE102004008702B4 publication Critical patent/DE102004008702B4/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]

Abstract

Es sind Verfahren und Vorrichtungen für ein Inhaltsverschlüsselungsschema offenbart, das einen programmierbare Hardware verwendet. Bei einem Ausführungsbeispiel wird eine Inhaltsanforderung zu einem Inhaltsanbieter gesendet. Ansprechend auf die Inhaltsanforderung wird ein Sitzungsschlüssel empfangen und eine programmierbare Hardware wird unter Verwendung des Sitzungsschlüssels konfiguriert, um eine erste Konfiguration zu erzeugen. Ein Identifizierungsschlüssel wird erzeugt und die erste Konfiguration der programmierbaren Hardware wird verwendet, um den Identifizierungsschlüssel zu verschlüsseln. Der verschlüsselte Identifizierungsschlüssel wird zu dem Inhaltsanbieter gesendet. Es wird dann ein verschlüsselter Inhalt, der den Identifizierungsschlüssel enthält, empfangen.

Description

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

Claims (32)

  1. Verfahren, das folgende Schritte aufweist: Senden (305) einer Inhaltsanforderung an einen Inhaltsanbieter (100); Empfangen (310) eines Sitzungsschlüssels ansprechend auf die Inhaltsanforderung; Konfigurieren (315) einer programmierbaren Hardware (170) unter Verwendung des Sitzungsschlüssels, um eine erste Konfiguration der programmierbaren Hardware (170) zu erzeugen; Erzeugen (320) eines Identifizierungsschlüssels; Verwenden der ersten Konfiguration der programmierbaren Hardware (170), um den Identifizierungsschlüssel zu verschlüsseln (330); Senden (335) des verschlüsselten Identifizierungsschlüssels zu dem Inhaltsanbieter (100); und Empfangen (340) eines verschlüsselten Inhalts, der den Identifizierungsschlüssel enthält.
  2. Verfahren gemäß Anspruch 1, das ferner folgende Schritte aufweist: Empfangen (410) eines dem verschlüsselten Inhalt zugeordneten Übertragungsschlüssels von dem Inhaltsanbieter (100) ansprechend auf den verschlüsselten Identifizierungsschlüssel, wobei der Übertragungsschlüssel einer ersten Schicht einer Verschlüsselung des verschlüsselten Inhalts zugeordnet ist; Konfigurieren (415) der programmierbaren Hardware (170) unter Verwendung des Übertragungsschlüssels, um eine zweite Konfiguration der programmierbaren Hardware (170) zu erzeugen; und Verwenden der zweiten Konfiguration der programmierbaren Hardware (170), um die erste Schicht einer Verschlüsselung von dem verschlüsselten Inhalt zu entfernen (420) und einen Inhaltszugriffsschlüssel freizulegen, wobei der Inhaltszugriffsschlüssel einer zweiten Schicht einer Verschlüsselung des verschlüsselten Inhalts zugeordnet ist.
  3. Verfahren gemäß Anspruch 2, das ferner nach dem Entfernen (420) der ersten Schicht einer Verschlüsselung ein Schreiben (425) des verschlüsselten Inhalts und des Inhaltszugriffsschlüssels in ein Speichermedium (185) aufweist.
  4. Verfahren gemäß Anspruch 3, bei dem das Speichermedium (185) eines einer Platte, einer Compact-Disk (CD), eines Bands und einer beschreibbaren DVD aufweist.
  5. Verfahren gemäß einem der Ansprüche 2 bis 4, das ferner folgende Schritte aufweist: Konfigurieren der programmierbaren Hardware (170) unter Verwendung des Inhaltszugriffsschlüssels, um eine dritte Konfiguration der programmierbaren Hardware (170) zu erzeugen; Verwenden der dritten Konfiguration der programmierbaren Hardware (170), um die zweite Schicht einer Verschlüsselung von dem verschlüsselten Inhalt zu entfernen.
  6. Verfahren gemäß einem der Ansprüche 2 bis 5, bei dem der verschlüsselte Inhalt einen Inhalt aufweist, der mit dem Identifizierungsschlüssel und Zugriffsrechten eingebettet ist.
  7. Verfahren gemäß Anspruch 6, das ferner ein Freilegen der Zugriffsrechte durch ein Verwenden der zweiten Konfiguration der programmierbaren Hardware (170) aufweist.
  8. Verfahren gemäß Anspruch 7, das ferner ein Schreiben der Zugriffsrechte in einen Bereich aufweist, der lediglich durch die programmierbare Hardware (170) zugreifbar ist.
  9. Verfahren gemäß Anspruch 7 oder 8, bei dem die Zugriffsrechte zumindest eines von einem Verfallsdatum, einer erlaubten Betrachtungszeit und einem erlaubten Zugriffszählwert aufweisen.
  10. Verfahren gemäß einem der Ansprüche 1 bis 9, das ferner folgende Schritte aufweist: Empfangen (705) eines Inhaltszugriffsschlüssels, der dem verschlüsselten Inhalt zugeordnet ist, von dem Inhaltsanbieter; Konfigurieren (710) der programmierbaren Hardware (170) unter Verwendung des Inhaltszugriffsschlüssels, um eine zweite Konfiguration der programmierbaren Hardware (170) zu erzeugen; und Verwenden der zweiten Konfiguration der programmierbaren Hardware (170), um den verschlüsselten Inhalt zu entschlüsseln (730).
  11. Verfahren gemäß Anspruch 10, bei dem das Verwenden der zweiten Konfiguration folgende Schritte aufweist: Verwenden der zweiten Konfiguration, um zumindest einen Abschnitt des verschlüsselten Inhalts zu entschlüsseln; Vergleichen eines Inhaltsidentifizierungsschlüssels, der in dem Inhalt eingebettet ist, mit dem Identifizierungsschlüssel; Bestimmen (725), ob der Inhaltsidentifizierungsschlüssel mit dem Identifizierungsschlüssel übereinstimmt; und Entschlüsseln des verschlüsselten Inhalts.
  12. Verfahren gemäß einem der Ansprüche 1 bis 11, bei dem die programmierbare Hardware ein feldprogrammierbares Gatterarray (FPGA) (200) ist.
  13. Verfahren gemäß einem der Ansprüche 1 bis 12, das ferner ein Schreiben (325) des Identifizierungsschlüssels in einen beschränkten Bereich aufweist.
  14. Verfahren gemäß Anspruch 13, bei dem der beschränkte Bereich einen Bereich eines Speichermediums aufweist, der durch einen Benutzer nicht zugreifbar ist.
  15. Verfahren gemäß Anspruch 13 oder 14, bei dem der beschränkte Bereich einen Bereich der programmierbaren Hardware aufweist.
  16. Verfahren gemäß einem der Ansprüche 13 bis 15, das ferner folgende Schritte aufweist: Überwachen von Zugriffsanforderungen zu dem beschränkten Bereich; Blockieren von Zugriffsanforderungen, die nicht durch die programmierbare Hardware (170) eingeleitet sind.
  17. Verfahren gemäß einem der Ansprüche 1 bis 16, bei dem das Erzeugen eines Identifizierungsschlüssels ein Erzeugen einer Zufallszahl aufweist.
  18. Verfahren gemäß einem der Ansprüche 1 bis 17, bei dem alle Übertragungen Übertragungen über das World Wide Web aufweisen.
  19. Verfahren, das folgende Schritte aufweist: auf ein Empfangen (505) einer Inhaltsanforderung von einem Inhaltskunden (150) hin, Senden (510) eines Sitzungsschlüssels zu dem Inhaltskunden (150); Empfangen (515) eines verschlüsselten Identifizierungsschlüssels ansprechend auf das Senden des Sitzungsschlüssels; Konfigurieren (520) einer programmierbaren Hardware (170) mit einer ersten Konfiguration; Erhalten (525) eines Identifizierungsschlüssels durch ein Verwenden der ersten Konfiguration der programmierbaren Hardware (170), um den verschlüsselten Identifizierungsschlüssel zu entschlüsseln; Konfigurieren (530) der programmierbaren Hardware (170) mit einer zweiten Konfiguration; und Verwenden der zweiten Konfiguration der programmierbaren Hardware (170), um einen ersten verschlüsselten Inhalt zu erzeugen (535), der den Identifizierungsschlüssel enthält, aus einem Inhalt, der der Inhaltsanforderung zugeordnet ist.
  20. Verfahren gemäß Anspruch 19, bei dem das Verwenden der zweiten Konfiguration der programmierbaren Hardware (170) ein Verwenden der zweiten Konfiguration der pro grammierbaren Hardware (170) aufweist, um den Identifizierungsschlüssel in zumindest eine Position in dem Inhalt einzubringen, der der Inhaltsanforderung zugeordnet ist, und um den eingebrachten Inhalt mit dem Identifizierungsschlüssel zu verschlüsseln.
  21. Verfahren gemäß Anspruch 19 oder 20, das ferner vor dem Verwenden der zweiten Konfiguration ein Einbringen des Identifizierungsschlüssels in zumindest eine Position des Inhalts aufweist, der der Inhaltsanforderung zugeordnet ist.
  22. Verfahren gemäß einem der Ansprüche 19 bis 21, das ferner ein Senden des ersten verschlüsselten Inhalts und eines Inhaltszugriffsschlüssels zu dem Inhaltskunden aufweist.
  23. Verfahren, das folgende Schritte aufweist: auf ein Empfangen (800) einer Anforderung, um einen Inhalt zu kopieren, hin, Konfigurieren (905) einer programmierbaren Hardware unter Verwendung eines Inhaltszugriffsschlüssels, um eine erste Konfiguration der programmierbaren Hardware zu erzeugen; Verwenden der ersten Konfiguration der programmierbaren Hardware, um Kopierprivileginformationen und einen ersten Identifizierungsschlüssel von einem ersten verschlüsselten Inhalt zu erhalten (910); Bestimmen (810), ob ein Kopieren des Inhalts erlaubt ist; falls ein Kopieren des Inhalts erlaubt ist, Verwenden der ersten Konfiguration der programmierbaren Hardware, um den ersten verschlüsselten Inhalt zu entschlüsseln (820); Entfernen (830) des ersten Identifizierungsschlüssels von dem entschlüsselten Inhalt, um einen ersten Inhalt zu erzeugen; Empfangen (835) eines zweiten Identifizierungsschlüssels von einem Zielgerät; Konfigurieren (840) der programmierbaren Hardware mit einer zweiten Konfiguration; Erzeugen eines zweiten verschlüsselten Inhalts durch ein Verwenden der zweiten Konfiguration der programmierbaren Hardware, um den zweiten Identifizierungsschlüssel in zumindest eine Position des ersten Inhalts einzubringen und um den ersten Inhalt, in den der zweite Identifizierungsschlüssel eingebracht ist, zu verschlüsseln (845); und Schreiben (850) des zweiten verschlüsselten Inhalts zu dem Zielgerät.
  24. Verfahren gemäß Anspruch 23, bei dem das Bestimmen (810) ein Vergleichen (915) eines Benutzeridentifizierungsschlüssels mit dem ersten Identifizierungsschlüssel aufweist, und falls der Benutzeridentifizierungsschlüssel nicht mit dem ersten Identifizierungsschlüssel übereinstimmt, ein Bestimmen (925), daß ein Kopieren des Inhalts nicht erlaubt ist.
  25. Verfahren gemäß Anspruch 23 oder 24, bei dem das Bestimmen (810) ein Bestimmen (930) aufweist, ob die Kopierprivileginformationen ein Kopieren erlauben.
  26. Verfahren gemäß einem der Ansprüche 23 bis 25, bei dem das Bestimmen (810), ob ein Kopieren erlaubt ist, folgende Schritte aufweist: Bestimmen der Anzahl von Kopien, die durch die Kopierprivileginformationen erlaubt sind; Lesen (940) einer Kopierhistorie, wobei die Kopierhistorie einen Indikator umfaßt, der die Anzahl von Malen angibt, die der Inhalt kopiert wurde; Vergleichen der Kopierhistorie mit den Kopierprivileginformationen, wobei die Kopierprivileginformationen eine erlaubte Anzahl von Malen umfassen, die der Inhalt kopiert werden kann; und falls die erlaubte Anzahl von Malen geringer als der Indikator ist, Bestimmen (950), daß ein Kopieren des Inhalts erlaubt ist.
  27. Verfahren gemäß Anspruch 26, das ferner folgende Schritte aufweist: Aktualisieren der Kopierhistorie, um den Indikator zu erhöhen; Verwenden der ersten Konfiguration der programmierbaren Hardware, um die Kopierhistorie zu verschlüsseln; und Schreiben der Kopierhistorie in einen beschränkten Bereich.
  28. Vorrichtung, die folgende Merkmale aufweist: einen Identifizierungsschlüsselgenerator (180); eine Schnittstelle, um eine Inhaltsanfoderung zu einem Inhaltsanbieter (100) zu senden, um einen Sitzungsschlüssel von dem Inhaltsanbieter (100) ansprechend auf die Inhaltsanforderung zu empfangen, um einen verschlüsselten Identifizierungsschlüssel zu dem Inhalts anbieter (100) zu senden und um von dem Inhaltsanbieter (100) einen verschlüsselten Inhalt zu empfangen, der den Identifizierungsschlüssel enthält; und eine programmierbare Hardware (170), die kommunikativ mit der Schnittstelle und dem Generator gekoppelt ist, wobei die programmierbare Hardware (170) durch ein Verwenden des Sitzungsschlüssels mit einer ersten Konfiguration konfiguriert werden soll und den Identifizierungsschlüssel verschlüsseln soll, während dieselbe mit der ersten Konfiguration konfiguriert ist.
  29. Vorrichtung gemäß Anspruch 28, bei der die programmierbare Hardware (170) ferner durch ein Verwenden eines Inhaltszugriffsschlüssels mit einer zweiten Konfiguration konfiguriert werden soll und den verschlüsselten Inhalt entschlüsseln soll, während dieselbe mit der zweiten Konfiguration konfiguriert ist.
  30. Feldprogrammierbares Gatterarray (FPGA) (200), das folgende Merkmale aufweist: einen Konfigurationseingang (205), um einen Sitzungsschlüssel und einen Inhaltszugriffsschlüssel zu empfangen; eine Mehrzahl von konfigurierbaren Elementen (220), die mit dem Konfigurationseingang (205) gekoppelt sind, wobei die konfigurierbaren Elemente (220) durch ein Verwenden des Sitzungsschlüssels mit einer ersten Konfiguration konfiguriert werden sollen und durch ein Verwenden des Inhaltszugriffsschlüssels mit einer zweiten Konfiguration konfiguriert werden sollen; einen Dateneingang (215), der mit den konfigurierbaren Elementen (220) gekoppelt ist, wobei der Dateneingang (215) einen Identifizierungsschlüssel zu der ersten Konfiguration eingeben soll und einen verschlüsselten Inhalt zu der zweiten Konfiguration eingeben soll; und einen Ausgang (225), der mit den konfigurierbaren Elementen (220) gekoppelt ist, um einen verschlüsselten Identifizierungsschlüssel von dem Identifizierungsschlüsseleingang zu der ersten Konfiguration auszugeben und um einen entschlüsselten Inhalt von dem verschlüsselten Inhaltseingang zu der zweiten Konfiguration auszugeben.
  31. FPGA (200) gemäß Anspruch 30, das ferner einen nichtrekonfigurierbaren Bereich aufweist, der mit dem Konfigurationseingang gekoppelt ist, um den Identifizierungsschlüssel zu speichern.
  32. Vorrichtung, die folgende Merkmale aufweist: eine Schnittstelle, um eine Inhaltsanforderung von einem Inhaltskunden (150) zu empfangen, um einen Sitzungsschlüssel zu einem Inhaltskunden (150) zu senden, um einen verschlüsselten Identifizierungsschlüssel ansprechend auf den Sitzungsschlüssel zu empfangen und um einen verschlüsselten Inhalt und einen Inhaltszugriffsschlüssel zu dem Inhaltskunden (150) zu senden; eine programmierbare Hardware, die kommunikativ mit der Schnittstelle gekoppelt ist, wobei die programmierbare Hardware mit einer ersten Konfiguration konfiguriert werden soll, um einen Identifizierungsschlüssel von dem verschlüsselten Identifizierungsschlüssel zu erhalten, während dieselbe mit der ersten Konfiguration konfiguriert ist, mit einer zweiten Konfiguration konfiguriert werden soll und aus einem Inhalt, der der Inhaltsanforderung zugeordnet ist, einen verschlüsselten Inhalt, der den Identifizierungs schlüssel enthält, erzeugen soll, während dieselbe mit der zweiten Konfiguration konfiguriert ist; und eine Inhaltsbibliothek, die kommunikativ mit der programmierbaren Hardware gekoppelt ist, um den Inhalt zu speichern, der der Inhaltsanforderung zugeordnet ist.
DE102004008702A 2003-06-11 2004-02-23 Inhaltsverschlüsselung unter Verwendung einer programmierbaren Hardware Expired - Fee Related DE102004008702B4 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/460,481 US7440574B2 (en) 2003-06-11 2003-06-11 Content encryption using programmable hardware
US10/460,481 2003-06-11
US10/460481 2003-06-11

Publications (2)

Publication Number Publication Date
DE102004008702A1 true DE102004008702A1 (de) 2005-01-13
DE102004008702B4 DE102004008702B4 (de) 2010-01-07

Family

ID=32713618

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102004008702A Expired - Fee Related DE102004008702B4 (de) 2003-06-11 2004-02-23 Inhaltsverschlüsselung unter Verwendung einer programmierbaren Hardware

Country Status (6)

Country Link
US (1) US7440574B2 (de)
JP (1) JP3996912B2 (de)
CN (1) CN100571128C (de)
DE (1) DE102004008702B4 (de)
GB (1) GB2403314B (de)
TW (1) TWI324472B (de)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050097315A1 (en) * 2003-10-30 2005-05-05 Tzahi Carmeli Method and apparatus to configure transmitter and receiver to encrypt and decrypt data
JP2007516667A (ja) * 2003-11-14 2007-06-21 ソニック・ソリューションズ 書込み可能な媒体への内容の保護された安全な転送
JP4131964B2 (ja) * 2004-12-10 2008-08-13 株式会社東芝 情報端末装置
US8364792B2 (en) * 2005-03-09 2013-01-29 Vudu, Inc. Method and system for distributing restricted media to consumers
WO2006109738A1 (ja) 2005-04-07 2006-10-19 Matsushita Electric Industrial Co., Ltd. 回路構築装置
JP4713916B2 (ja) * 2005-04-08 2011-06-29 日本電信電話株式会社 データ保護サービスシステム及びデータ保護方法
US7958353B2 (en) * 2005-04-25 2011-06-07 Panasonic Corporation Information security device
JP2007142591A (ja) * 2005-11-15 2007-06-07 Matsushita Electric Ind Co Ltd 暗号管理方法
US7900060B2 (en) * 2006-02-17 2011-03-01 Vudu, Inc. Method and system for securing a disk key
JP4841971B2 (ja) * 2006-02-28 2011-12-21 三菱電機株式会社 データ提供システム、情報交換装置及び携帯通信端末
US8239686B1 (en) 2006-04-27 2012-08-07 Vudu, Inc. Method and system for protecting against the execution of unauthorized software
CN101484877A (zh) * 2006-07-04 2009-07-15 皇家飞利浦电子股份有限公司 用可重新配置的硬件执行计算机指令
WO2008009168A1 (fr) * 2006-07-10 2008-01-24 Bo He Procédé de protection d'une information de configuration sur un dispositif de logique programmable
US8719954B2 (en) * 2006-10-11 2014-05-06 Bassilic Technologies Llc Method and system for secure distribution of selected content to be protected on an appliance-specific basis with definable permitted associated usage rights for the selected content
US20080092239A1 (en) 2006-10-11 2008-04-17 David H. Sitrick Method and system for secure distribution of selected content to be protected
US8824672B1 (en) * 2007-04-12 2014-09-02 Iowa State University Research Foundation Reconfigurable block encryption logic
CN101682506B (zh) 2007-05-18 2013-10-16 美国唯美安视国际有限公司 用于确定在保护数据时应用的可编程处理步骤的系统和方法
US8842836B2 (en) * 2007-11-26 2014-09-23 Koolspan, Inc. System for and method of cryptographic provisioning
US9866370B2 (en) * 2007-12-05 2018-01-09 Itt Manufacturing Enterprises, Llc Configurable ASIC-embedded cryptographic processing engine
US8646105B2 (en) 2008-08-29 2014-02-04 Blackberry Limited System, method and security device for authorizing use of a software tool
EP2164014B1 (de) * 2008-08-29 2012-09-26 Research In Motion Limited System, Verfahren und Sicherheitsvorrichtung zur Genehmigung der Verwendung eines Software-Werkzeugs
US8762708B2 (en) 2008-10-11 2014-06-24 David L. Blankenbeckler Secure content distribution system
US8868925B2 (en) * 2008-12-09 2014-10-21 Nvidia Corporation Method and apparatus for the secure processing of confidential content within a virtual machine of a processor
US8402280B1 (en) * 2009-10-15 2013-03-19 Nvidia Corporation System, method, and computer program product for buffering in association with audio/video digital rights management (DRM) processing
US20120210134A1 (en) * 2011-02-09 2012-08-16 Navroop Mitter Method of securing communication
US9788069B1 (en) * 2011-06-24 2017-10-10 The Directv Group, Inc. Method and system for recording recommended content within a user device
JP2013251871A (ja) * 2012-06-04 2013-12-12 Toshiba Corp 無線装置、情報提供装置および無線通信方法
US9705501B2 (en) * 2014-10-01 2017-07-11 Maxim Integrated Products, Inc. Systems and methods for enhancing confidentiality via logic gate encryption
CN111435384B (zh) * 2019-01-14 2022-08-19 阿里巴巴集团控股有限公司 数据安全处理和数据溯源方法、装置及设备
TWI783189B (zh) * 2019-11-08 2022-11-11 精品科技股份有限公司 位元鎖磁碟管理系統

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06266670A (ja) 1993-03-11 1994-09-22 Fujitsu Ltd 暗号化仮想端末初期化装置
US6061451A (en) * 1996-09-03 2000-05-09 Digital Vision Laboratories Corporation Apparatus and method for receiving and decrypting encrypted data and protecting decrypted data from illegal use
US6005935A (en) 1996-11-20 1999-12-21 At&T Corp. Method and system of using personal information as a key when distributing information
JP3928819B2 (ja) 1997-01-21 2007-06-13 ソニー株式会社 データ受信装置及び暗号処理プログラム更新方法
US6161179A (en) * 1997-09-05 2000-12-12 Wea Manufacturing, Inc. Key-based protection method for light-readable discs
US6275588B1 (en) * 1998-11-12 2001-08-14 I-Data International A/S Apparatus and method for performing and controlling encryption/decryption for data to be transmitted on local area network
US6324676B1 (en) * 1999-01-14 2001-11-27 Xilinx, Inc. FPGA customizable to accept selected macros
AU2515800A (en) 1999-01-26 2000-08-07 Infolio, Inc. Universal mobile id system and method for digital rights management
US6289455B1 (en) * 1999-09-02 2001-09-11 Crypotography Research, Inc. Method and apparatus for preventing piracy of digital content
JP2001136160A (ja) 1999-11-02 2001-05-18 Victor Co Of Japan Ltd コンテンツ提供方法
US6363357B1 (en) * 1999-12-29 2002-03-26 Pitney Bowes, Inc. Method and apparatus for providing authorization to make multiple copies of copyright protected products purchased in an online commercial transaction
JP2002141895A (ja) * 2000-11-01 2002-05-17 Sony Corp コンテンツ配信システムおよびコンテンツ配信方法
US20050120232A1 (en) * 2000-11-28 2005-06-02 Yoshihiro Hori Data terminal managing ciphered content data and license acquired by software
JP4690600B2 (ja) * 2001-08-23 2011-06-01 富士通株式会社 データ保護方法
KR100947152B1 (ko) * 2001-11-15 2010-03-12 소니 주식회사 이동식 매체상에 배포된 디지털 콘텐츠의 사용 및 복사를 제어하는 방법 및 그를 이용하는 디지털 저장 매체
ES2198201B1 (es) 2002-02-12 2005-01-01 Airtel Movil, S.A. Procedimiento y sistema de distribucion y gestion de derechos de uso asociados a un contenido adquirido, para terminales moviles.

Also Published As

Publication number Publication date
US20050021961A1 (en) 2005-01-27
GB2403314A (en) 2004-12-29
JP2005006302A (ja) 2005-01-06
TWI324472B (en) 2010-05-01
GB2403314B (en) 2006-07-12
DE102004008702B4 (de) 2010-01-07
CN100571128C (zh) 2009-12-16
CN1574734A (zh) 2005-02-02
US7440574B2 (en) 2008-10-21
JP3996912B2 (ja) 2007-10-24
GB0412457D0 (en) 2004-07-07
TW200428846A (en) 2004-12-16

Similar Documents

Publication Publication Date Title
DE102004008702B4 (de) Inhaltsverschlüsselung unter Verwendung einer programmierbaren Hardware
DE60127096T2 (de) Vorrichtung und verfahren zur informationsverarbeitung
DE60130779T2 (de) Verfahren und gerät zum kontrolieren des verteilens und der benutzung von digitalwerken
DE60126874T2 (de) Vorrichtung und verfahren zur informationsverarbeitung
EP1133849B1 (de) Verfahren und vorrichtung zum erzeugen eines verschlüsselten nutzdatenstroms und verfahren und vorrichtung zum entschlüsseln eines verschlüsselten nutzdatenstroms
DE69333754T2 (de) Schutzsystem für elektronische Daten
DE60037476T2 (de) Verfahren und Gerät zur Verhinderung der unberechtigten Benutzung von Multimediainhalt
DE60130430T2 (de) Verfahren und vorrichtung zur informationsverarbeitung
EP1151561B1 (de) Verfahren und vorrichtung zum erzeugen eines datenstroms und verfahren und vorrichtung zum abspielen eines datenstroms
DE60016972T2 (de) Anpassbarer sicherheitsmechanismus, um unerlaubten zugang zu digitalen daten zu verhindern
DE69833608T2 (de) Informationsübertragung,-empfang und -aufzeichnung
DE602004005277T2 (de) Verfahren zur Rechtsgegenständeteilung zwischen Benutzern
DE112007002566B4 (de) Verfahren zum Übertragen eines Datenobjekts zwischen Vorrichtungen, und Vorrichtung zum Durchsetzen eines Protokolls
DE102006044299B4 (de) Vorrichtung und Verfahren zur gesicherten Verteilung von Inhalten in einem Telekommunikationsnetzwerk
DE112004002943B4 (de) Inhalte-Management-Programm, -Verfahren und -Vorrichtung
DE60015269T2 (de) Ein verfahren und system einen kopierschutz auf einem speichermedium darzustellen und ein speichermedium in einem solchen system zu benutzen
EP1782153B1 (de) Durch authentisierung gesicherter zugriff auf einen datenträger mit massenspeicher und chip
EP2502176B1 (de) Verfahren und vorrichtung zum zugreifen auf steuerungsdaten gemäss einer bereitgestellten rechteinformation
DE69915041T2 (de) Informationsverarbeitungsvorrichtung und -methode, und programmspeichermedium
DE60311874T2 (de) Heimnetzwerk inhaltsschutz und kopieverwaltungssystem
DE60130265T2 (de) Sichere superverteilung von benutzerdaten
WO2003060905A1 (de) System und verfahren zur erstellung und verbreitung kopier- und nutzungsgeschützter elektronischer ton- und bildmedien und deren dateninhalte
DE10164131A1 (de) Kryptographisches Modul zur Speicherung und Wiedergabe kopier-und nutzungsgeschützter elektronischer Ton- und Bildmedien
EP1073019A2 (de) Verfahren und Vorrichtung zur Übertragung von Daten auf SmartCards
DE60024768T2 (de) Aktualisierung einer sperrliste um einem widersacher entgegenzuarbeiten

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8364 No opposition during term of opposition
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee