-
GEBIET DER ERFINDUNG
-
Die
vorliegende Erfindung betrifft ein Digitale-Rechte-Managementsystem
mit einem diversifizierten Inhaltsschutzprozess.
-
HINTERGRUND DER ERFINDUNG
-
Der
Schutz von zwischen Computern über ein
Netzwerk übertragenem
digitalen Inhalt ist heute für
viele Unternehmen fundamental wichtig. Unternehmen versuchen, diesen
Schutz durch Implementieren einer Form eines Digitale-Rechte-Management-(DRM)-Prozesses
sicherzustellen. Der DRM-Prozess beinhaltet häufig ein Verschlüsseln des
Teils von Inhalt (z. B. Verschlüsseln
der binären Form
des Inhalts), um eine Nutzung auf diejenigen einzuschränken, welchen
ein Recht auf den Inhalt erteilt worden ist.
-
Kryptografie
ist ein traditionelles Verfahren, Daten zu schützen, welche im Durchgang über ein Netzwerk
befindlich sind. In ihrer typischen Anwendung schützt Kryptografie
Kommunikationen zwischen zwei sich gegenseitig vertrauenden Teilnehmern
vor Diebstahl durch einen Angriff auf die in Durchgang befindlichen
Daten. Heute hat sich jedoch für
viele Digitaldateiübertragungsanwendungen
(z. B. für
die Übertragung
von Audio- oder Videoinhalt) das Paradigma ver schoben, weil ein
Teilnehmer, welcher den Inhalt empfängt (das ist der "empfangende Teilnehmer"), versuchen könnte, die
DRM-Verschlüsselung
zu brechen, welche der Teilnehmer, welcher den Inhalt zuführte (das
ist der "verteilende
Teilnehmer"), auf
den Inhalt anwendete. Zusätzlich
zu dem Umsichgreifen von Angriffen, in ein Netzwerk einzudringen,
kann ein dritter Teilnehmer einen Zugriff auf den Computer des empfangenden
Teilnehmers und somit Zugriff auf den geschützten Inhalt erhalten.
-
In
vielen der DRM-Systeme heute sind das schwächste Glied in der Sicherheit
nicht die verschlüsselten
Daten, sondern vielmehr der gesamte kryptografische Prozess. Zum
Beispiel verteilen ein oder mehr erfolgreiche DRM-Systeme Musik
online. Dieses DRM-System verteilt an einen Benutzercomputer Inhalt,
welcher für
alle Benutzer ähnlich
verschlüsselt
worden ist. Der Benutzercomputer entschlüsselt dann den empfangenen
Inhalt, erzeugt lokal Schlüssel
zum Verschlüsseln
des Inhalts und benutzt dann diese lokal erzeugten Schlüssel, um
den Inhalt erneut zu verschlüsseln.
Dieses Verfahren exponiert unnötigerweise
für potenzielle
Angreifer die kryptografischen Schlüssel, welche notwendig sind, den
Inhalt zu entschlüsseln.
Dieses Verfahren verteilt auch Inhalt, welcher für alle Benutzer ähnlich basierend
auf dem gleichen Satz von Sicherheitselementfunktionen geschützt worden
ist.
-
Daher
gibt es einen Bedarf in der Technik nach einem DRM-System, welches Inhalt
maximal dadurch schützt,
dass Inhalt für
verschiedene Benutzer verschieden geschützt wird. Idealerweise könnte ein
solches System den Inhalt für
zwei verschiedene Benutzer basierend auf zwei verschiedenen Sätzen von
Indizien schützen,
welche von den Benutzern empfangen werden können.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Einige
Ausführungsformen
der Erfindung stellen ein Digitale-Rechte-Management-(DRM)-Verfahren
zum Verteilen von Inhalt an Benutzer über ein Netzwerk bereit. Basierend
auf einem ersten Satz von Diversitätsindizien identifiziert das
Verfahren ein erstes Sicherheitselement zum Verteilen einer Menge
von Inhalt an einen ersten Computer. Die Menge von Inhalt umfasst
einen oder mehr Teile von Inhalt. Basierend auf einem zweiten Satz
von Diversitätsindizien
identifiziert das Verfahren ein zweites Sicherheitselement zum Verteilen
der Menge von Inhalt an einen zweiten Computer. Basierend auf dem
ersten Sicherheitselement schützt
das Verfahren die Menge von Inhalt für den ersten Computer und sendet
die geschützte
Menge von Inhalt an den ersten Computer durch das Netzwerk. Basierend
auf dem zweiten Sicherheitselement schützt das Verfahren die Menge von
Inhalt für
den zweiten Computer und sendet die geschützte Menge von Inhalt an den
zweiten Computer durch das Netzwerk oder ein anderes Mittel.
-
Bei
einem DRM-Computer empfängt
das Verfahren in einigen Ausführungsformen
(1) den ersten Satz von Diversitätsindizien
von dem ersten Computer und (2) den zweiten Satz von Diversitätsindizien
von dem zweiten Computer. In anderen Ausführungsformen empfängt der
DRM-Computer keine Diversitätsindizien,
sondern weist statt dessen den Satz von Diversitätsindizien für jeden
Computer zu. Alternativ könnte
in einigen Ausführungsformen
der DRM-Computer Diver sitätsdaten
in dem Satz von Indizien empfangen und erzeugen, welche Indizien
er für
einen bestimmten Computer benutzt. Auch speichert in einigen Ausführungsformen
das Verfahren die Diversitätsindizien
für jeden
Computer in einem zentralisierten Speicher (z. B. Datenbank).
-
In
einigen Ausführungsformen
ist ein Sicherheitselement eine Funktion, welche durch den DRM-Computer
benutzt wird, um den Inhalt zu schützen. Beispiele von solchen
Funktionen umfassen (1) Verschlüsselungsfunktionen,
welche durch den DRM-Computer benutzt werden, um den Inhalt zu verschlüsseln, (2)
Integritätsfunktionen,
welche durch den DRM-Computer
benutzt werden, um den Inhalt zu signieren, und/oder (3) Verschlüsselungsschlüsselmanagementfunktionen,
welche durch den DRM-Computer benutzt werden, um kryptografische Schlüssel für eine Verschlüsselungsfunktion,
welche den Inhalt verschlüsselt,
zu erzeugen oder zu verschlüsseln,
etc.
-
In
einigen Ausführungsformen
identifiziert der DRM-Computer die Sicherheitselementfunktion für einen
bestimmten Computer durch Auswählen der
Sicherheitselementfunktion von einem Satz von verschiedenen Sicherheitselementfunktionen
basierend auf dem Satz von Diversitätsindizien für den bestimmten
Computer. In einigen Ausführungsformen umfasst
der Satz von Sicherheitselementfunktionen Sicherheitselementfunktionen,
welche mathematikbezogen sind (z. B. sind alle mathematikbezogen), während in
anderen Ausführungsformen
der Satz von Sicherheitselementfunktionen keinen mathematikbezogenen
Satz von Funktionen umfasst.
-
In
einigen Ausführungsformen
identifiziert der DRM-Computer eine bestimmte Sicherheitselementfunktion
für einen
bestimmten Benutzercomputer bei der ersten Gelegenheit, bei welcher
der bestimmte Benutzercomputer nach einem geschützten Inhalt anfragt. Der DRM-Computer
benutzt dann die bestimmte Sicherheitselementfunktion für den bestimmten
Benutzercomputer für
nachfolgende Anfragen nach geschütztem
Inhalt von dem bestimmten Benutzercomputer. In einigen Ausführungsformen identifiziert
der DRM-Computer eine neue Sicherheitselementfunktion für den bestimmten
Benutzercomputer nach einer gegebenen Zeitspanne, oder nachdem ein
spezifisches Ereignis auftrat (wie etwa Widerruf eines Sicherheitselements
oder nach einer gegebenen Anzahl von Benutzeranfragen nach geschütztem Inhalt).
-
Jeder
Benutzercomputer empfängt
angefragten Inhalt in einem Format, welches basierend auf den Diversitätsdaten
geschützt
ist, welche dem Benutzercomputer zugeordnet sind (d. h., dem Benutzercomputer
selbst oder einem seiner Benutzer zugeordnet). Jeder Benutzercomputer
entfernt den auf den Inhalt angewendeten Schutz, um auf den Inhalt
zuzugreifen. Um den Schutz zu entfernen, benutzt ein Benutzercomputer
eine Zugriffsfunktion, welche geeignet für jede Sicherheitsfunktion
ist, welche der DRM-Computer auf den Inhalt anwendete. Insbesondere
benutzt der Benutzercomputer für
jede bestimmte durch den DRM-Computer angewendete Sicherheitsfunktion
(z. B. Verschlüsselungsfunktion, Schlüsselerzeugungsfunktion,
Integritätsfunktion, etc.)
eine bestimmte Zugriffsfunktion (z. B. Entschlüsselungsfunktion, Schlüsselerzeugungsfunktion,
Verifikationsfunktion, etc.), welche geeignet ist, den Schutz, welcher
durch die be stimmte Sicherheitsfunktion angewendet wurde, zu entfernen,
zu erzeugen oder zu verifizieren.
-
In
verschiedenen Ausführungsformen
benutzt der Benutzercomputer verschiedene Techniken, um den geeigneten
Satz von Zugriffsfunktionen zu identifizieren, welche für jeden
Teil von Inhalt zu benutzen sind, welchen er von dem DRM-Serversatz empfängt. Zum
Beispiel hat in einigen Ausführungsformen
der Benutzercomputer eine Anwendung zum Zugreifen auf DRM-Inhalt.
Die Anwendung sendet die Diversitätsindizien für den Benutzercomputer
an den DRM-Computer. Basierend auf diesen Diversitätsdaten
wählt diese
Anwendung (d. h. ist konfiguriert auszuwählen) einen Satz von Zugriffsfunktionen aus,
welche für
den Satz von Sicherheitselementfunktionen geeignet sind, welche
der DRM-Computer benutzen wird, wenn er den Diversitätsindiziensatz von
dem Benutzercomputer empfängt.
Alternativ könnte
in den Ausführungsformen,
wobei der DRM-Computer Diversitätsdaten
an die Benutzercomputer sendet, der DRM-Computer auch Daten senden,
welche einen Benutzercomputer anweisen, den geeigneten Satz von
Zugriffsfunktionen auszuwählen.
-
Einige
oben beschriebene Ausführungsformen
benutzen einen einzelnen Computer, um den geschützten Inhalt bereitzustellen,
während
ein anderer Computer benutzt wird, um den DRM-Schutz für den Inhalt bereitzustellen.
Ein Fachmann mit gewöhnlicher
Ausbildung wird erkennen, dass einige Ausführungsformen einen einzelnen
Computer benutzen, um geschützten
Inhalt und den DRM-Schutz für
den Inhalt bereitzustellen.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
Die
neuen Merkmale der Erfindung sind in den angehängten Ansprüchen ausgeführt. Zum Zwecke einer Erläuterung
werden jedoch einige Ausführungsformen
in den folgenden Figuren ausgeführt.
-
1 illustriert
ein Digitale-Rechte-Management-(DRM)-System
einiger Ausführungsformen.
-
2 illustriert
eine detailliertere Ausführungsform
eines Inhaltverteilungsverfahrens einiger Ausführungsformen der Erfindung.
-
3 illustriert
eine DRM-Vorrichtung eines DRM-Servers
einiger Ausführungsformen.
-
4, 5 und 6 illustrieren
Beispiele von einfachen Sätzen
von Funktionen, welche mathematikbezogen sind.
-
7 illustriert
konzeptionell einen Prozess, welchen ein Benutzercomputer durchführt, um
einen Teil von DRM-Inhalt zu erhalten und darauf zuzugreifen.
-
DETAILLIERTE BESCHREIBUNG
DER ERFINDUNG
-
In
der folgenden Beschreibung werden zahlreiche Details zum Zwecke
einer Erläuterung
ausgeführt.
Ein Fachmann mit gewöhnlicher
Ausbildung wird jedoch realisieren, dass die Erfindung ohne die Benutzung
dieser spezifischen Details praktiziert werden kann. In anderen
Fällen
sind wohlbekannte Strukturen und Geräte in Blockdiagrammform gezeigt,
um die Beschreibung der Erfindung nicht mit unnötigem Detail zu verdecken.
-
I. ÜBERSICHT
-
Einige
Ausführungsformen
der Erfindung stellen ein Digitale-Rechte-Management-(DRM)-Verfahren
zum Verteilen von Inhalt an Benutzer über ein Netzwerk bereit. Basierend
auf einem ersten Satz von Diversitätsindizien identifiziert das
Verfahren ein erstes Sicherheitselement zum Verteilen einer Menge
von Inhalt an einen ersten Computer. Die Menge von Inhalt umfasst
einen oder mehr Teile von Inhalt. Basierend auf einem zweiten Satz
von Diversitätsindizien
identifiziert das Verfahren ein zweites Sicherheitselement zum Verteilen
der Menge von Inhalt an einen zweiten Computer. Basierend auf dem
ersten Sicherheitselement schützt
das Verfahren die Menge von Inhalt für den ersten Computer und sendet
die geschützte
Menge von Inhalt an den ersten Computer durch das Netzwerk. Basierend
auf dem zweiten Sicherheitselement schützt das Verfahren die Menge von
Inhalt für
den zweiten Computer und sendet die geschützte Menge von Inhalt an den
zweiten Computer durch das Netzwerk.
-
Bei
einem DRM-Computer empfängt
das Verfahren in einigen Ausführungsformen
(1) den ersten Satz von Diversitätsindizien
von dem ersten Computer und (2) den zweiten Satz von Diversitätsindizien
von dem zweiten Computer. In anderen Ausführungsformen empfängt der
DRM-Computer keine Diversitätsindizien,
sondern weist statt dessen den Satz von Diversitätsindizien für jeden
Computer zu. Alternativ könnte
in einigen Ausführungsformen
der DRM-Computer Diversitätsdaten
in dem Satz von Indizien empfangen und erzeugen, welche Indizien
er für
einen bestimmten Computer benutzt. Auch speichert in einigen Ausführungsformen
das Verfahren die Diversitätsindizien
für jeden
Computer in einem zentralisierten Speicher (z. B. Datenbank).
-
In
einigen Ausführungsformen
ist ein Sicherheitselement eine Funktion, welche durch den DRM-Computer
benutzt wird, um den Inhalt zu schützen. Beispiele von solchen
Funktionen umfassen (1) Verschlüsselungsfunktionen,
welche durch den DRM-Computer benutzt werden, um den Inhalt zu verschlüsqseln,
(2) Integritätsfunktionen,
welche durch den DRM-Computer
benutzt werden, um den Inhalt zu signieren, und/oder (3) Verschlüsselungsschlüsselmanagementfunktionen,
welche durch den DRM-Computer benutzt werden, um kryptografische Schlüssel für eine Verschlüsselungsfunktion,
welche den Inhalt verschlüsselt,
zu erzeugen oder zu verschlüsseln,
etc.
-
In
einigen Ausführungsformen
identifiziert der DRM-Computer die Sicherheitselementfunktion für einen
bestimmten Computer durch Auswählen der
Sicherheitselementfunktion von einem Satz von verschiedenen Sicherheitselementfunktionen
basierend auf dem Satz von Diversitätsindizien für den bestimmten
Computer. In einigen Ausführungsformen umfasst
der Satz von Sicherheitselementfunktionen Sicherheitselementfunktionen,
welche mathematikbezogen sind (z. B. sind alle mathematikbezogen), während in
anderen Ausführungsformen
der Satz von Sicherheitselementfunktionen keinen mathematikbezogenen
Satz von Funktionen umfasst.
-
In
einigen Ausführungsformen
identifiziert der DRM-Computer eine bestimmte Sicherheitselementfunktion
für einen
bestimmten Benutzercomputer bei der ersten Gelegenheit, bei welcher
der bestimmte Benutzercomputer nach einem geschützten Inhalt anfragt. Der DRM-Computer
benutzt dann die bestimmte Sicherheitselementfunktion für den bestimmten
Benutzercomputer für
nachfolgende Anfragen für
geschützten
Inhalt von dem bestimmten Benutzercomputer. In einigen Ausführungsformen
identifiziert der DRM-Computer eine neue Sicherheitselementfunktion
für den
bestimmten Benutzercomputer nach einer gegebenen Zeitspanne oder
nachdem ein spezifisches Ereignis auftrat (wie etwa Widerruf eines
Sicherheitselements oder nach einer gegebenen Anzahl von Benutzeranfragen
nach geschütztem
Inhalt).
-
Wie
oben erwähnt,
empfängt
jeder Benutzercomputer angefragten Inhalt in einem Format, welches
basierend auf den Diversitätsdaten
geschützt ist,
welche dem Benutzercomputer zugeordnet sind (d. h., dem Benutzercomputer
selbst oder einem seiner Benutzer zugeordnet). Jeder Benutzercomputer entfernt
den auf den Inhalt angewendeten Schutz, um auf den Inhalt zuzugreifen.
Um den Schutz zu entfernen, benutzt ein Benutzercomputer eine Zugriffsfunktion,
welche geeignet für
jede Sicherheitsfunktion ist, welche der DRM-Computer auf den Inhalt
anwendete. Insbesondere benutzt der Benutzercomputer für jede bestimmte
durch den DRM-Computer angewendete Sicherheitsfunktion (z. B. Verschlüsselungsfunktion,
Schlüsselerzeugungsfunktion,
Integritätsfunktion,
etc.) eine bestimmte Zugriffsfunktion (z. B. Entschlüsselungsfunktion,
Schlüsselerzeugungsfunktion,
Verifikationsfunktion, etc.), welche geeignet ist, den Schutz, welcher durch
die bestimmte Sicherheitsfunktion angewendet wurde, zu entfernen,
zu erzeugen oder zu verifizieren.
-
In
verschiedenen Ausführungsformen
benutzt der Benutzercomputer verschiedene Techniken, um den geeigneten
Satz von Zugriffsfunktionen zu identifizieren, welche für jeden
Teil von Inhalt zu benutzen sind, welchen er von dem DRM-Serversatz empfängt. Zum
Beispiel hat in einigen Ausführungsformen
der Benutzercomputer eine Anwendung zum Zugreifen auf DRM-Inhalt.
Die Anwendung sendet die Diversitätsindizien für den Benutzercomputer
an den DRM-Computer. Basierend auf diesen Diversitätsdaten
wählt diese
Anwendung (d. h. ist konfiguriert auszuwählen) einen Satz von Zugriffsfunktionen aus,
welche für
den Satz von Sicherheitselementfunktionen geeignet sind, welche
der DRM-Computer benutzen wird, wenn er den Diversitätsindiziensatz von
dem Benutzercomputer empfängt.
Alternativ könnte
in den Ausführungsformen,
wobei der DRM-Computer Diversitätsdaten
an die Benutzercomputer sendet, der DRM-Computer auch Daten senden,
welche einen Benutzercomputer anweisen, den geeigneten Satz von
Zugriffsfunktionen auszuwählen.
-
Einige
oben beschriebene Ausführungsformen
benutzen einen einzelnen Computer, um den geschützten Inhalt bereitzustellen,
während
ein anderer Computer benutzt wird, um den DRM-Schutz für den Inhalt bereitzustellen.
Ein Fachmann mit gewöhnlicher
Ausbildung wird erkennen, dass einige Ausführungsformen einen einzelnen
Computer benutzen, um geschützten
Inhalt und den DRM-Schutz für
den Inhalt bereitzustellen.
-
2 illustriert
eine detailliertere Ausführungsform
eines Inhaltverteilungsverfahrens einiger Ausführungsformen der Erfindung.
Dieses Verfahren wird weiterhin unten in Sektion III beschrieben.
Bevor jedoch dieses Verfahren beschrieben wird, wird zunächst das
Inhaltverteilungssystem einiger Ausführungsformen unten in Sektion
II beschrieben.
-
II DRM-System
-
1 illustriert
ein Digitale-Rechte-Management-(DRM)-System 100 einiger Ausführungsformen.
Dieses DRM-System verteilt Inhalt in einer Weise, welche die rechtmäßige Benutzung
des Inhalts sicherstellt. Wie in 1 gezeigt,
umfasst das DRM-System 100 einen Satz von DRM-Servern 110, welche
Inhalt auf einen Satz von N Benutzercomputern 115 verteilen.
Der Satz von Servern 110 verbindet sich mit den Benutzercomputern 115 durch
ein Computernetzwerk 120, wie etwa ein Nahbereichsnetzwerk
(local area network), ein Fernbereichsnetzwerk (wide area network),
ein Netzwerk von Netzwerken (z. B. das Internet), etc.
-
Durch
diese Verbindung kommunizieren die Benutzercomputer 115 mit
dem Satz von DRM-Servern 110, um in einigen Ausführungsformen
Inhalt zu erwerben oder zu lizenzieren. In anderen Ausführungsformen
jedoch verkauft oder lizenziert das DRM-System 100 keinen
Inhalt. Zum Beispiel setzt in einigen dieser Ausführungsformen
der DRM-Server 110 einfach die Verteilung von Inhalt an
autorisierte Computer durch, ohne irgend ein finanzielles Ziel zu haben.
-
Zum
Zwecke einer Illustration sind jedoch einige Ausführungsformen
des DRM-Systems 100, welche unten beschrieben sind, an
dem Verkauf oder der Lizenzierung des Inhalts beteiligt. Demgemäß umfasst
in diesen Ausführungsformen
der Satz von DRM-Servern 110 einen Server, von welchem
der Benutzer eines Computers 110 Inhalt erwerben oder lizenzieren
kann. Mit anderen Worten ist ein DRM-Server 110 von einigen
Ausführungsformen derjenige
Server, welcher die Finanztransaktion zum Erwerben oder Lizenzieren
von Inhalt durchführt.
In einigen Fällen
kann bestimmter Inhalt umsonst erworben oder lizenziert werden.
-
In
einigen Ausführungsformen
umfasst der Satz von DRM-Servern 110 auch
einen Inhaltzwischenspeicherserver (content caching server), welcher
verschlüsselten
Inhalt einem Benutzercomputer 110 durch das Netzwerk 120 bereitstellt,
nachdem ein anderer DRM-Server 110 bestimmt, dass der Computer 110 den
Inhalt erhalten kann. In einigen Ausführungsformen benutzt das System 100 mehrere
Zwischenspeicherserver (caching servers), um Inhalt an verschiedenen
Stellen auf dem Netzwerk zwischenzuspeichern (cache), um die Geschwindigkeit und
Effektivität
eines Herunterladens von Inhalt über das
Netzwerk zu verbessern.
-
In 1 schützt der
DRM-Serversatz 110 einen Teil von Inhalt in zwei verschiedenen
Weisen für zwei
verschiedene Benutzer basierend auf zwei verschiedenen Sätzen von
Indizien, welche die zwei verschiedenen Benutzer identifizieren.
In einigen Ausführungsformen
definiert der DRM-Serversatz für
jeden Benutzer alle oder einige der Indizien in dem Satz von Diversitätsindizien
des Benutzers, wie oben erwähnt.
Bei den in 1 illustrierten Ausführungsformen
empfängt
jedoch der DRM-Serversatz zwei verschiedene Sätze von Indizien von den Benutzercomputern.
-
Insbesondere
illustriert 1, dass Benutzer 1 einen
ersten Satz von Diversitätsindizien
dem DRM-Server bzw. den DRM-Servern 110 durch das Netzwerk
bereitstellt. In einigen Ausführungsformen identifiziert
der erste Satz von Diversitätsindizien
den Benutzer 1 in dem DRM-System 100. Beispiele
solcher Diversitätsindizien
umfassen irgend einen Typ von Information, welcher benutzt werden
kann, um den Benutzer (z. B. Kontonummer, Adresse, etc.), den Benutzercomputer
(z. B. MAC-Nummern, etc.), etc. zu identifizieren. Basierend auf
den Diversitätsindizien
von Benutzer 1 identifiziert der DRM-Serversatz 110 eine
oder mehr Schutzfunktionen (z. B. Verschlüsselungsfunktionen, Integritätsfunktionen, Schlüsselerzeugungs-
oder -managementfunktionen, etc.), um einen Teil von Inhalt A zu
schützen. Der
DRM-Serversatz 110 benutzt
dann die identifizierten Schutzfunktionen, um den Teil von Inhalt
A für den
Benutzer 1 zu schützen
(z. B. zu verschlüsseln, zu
signieren, kryptografische Schlüssel
zu erzeugen oder hand zu haben, etc.). Der DRM-Serversatz 110 sendet
dann den geschützten
Inhalt A an den Benutzer 1 durch das Netzwerk 120.
-
1 illustriert
auch, dass Benutzer N einen zweiten Satz von Diversitätsindizien
dem DRM-Server bzw. den DRM-Servern 110 durch
das Netzwerk bereitstellt. In einigen Ausführungsformen identifiziert der
zweite Satz von Diversitätsindizien
den Benutzer N in dem DRM-System 100. Wieder umfassen Beispiele
solcher Diversitätsindizien
irgend einen Typ von Information, welcher benutzt werden kann, um den
Benutzer (z. B. Kontonummer, Adresse, etc.), den Benutzercomputer
(z. B. MAC-Adresse, etc.), etc. zu identifizieren. Basierend auf
den Diversitätsindizien
von Benutzer N iden tifiziert der DRM-Serversatz 110 eine
oder mehr Schutzfunktionen (z. B. Verschlüsselungsfunktionen, Integritätsfunktionen, Schlüsselerzeugungs-
oder -managementfunktionen, etc.), um einen Teil von Inhalt A zu
schützen. Der
DRM-Serversatz 110 benutzt dann die identifizierten Schutzfunktionen,
um für
den Benutzer N den Teil von Inhalt A zu schützen (z. B. zu verschlüsseln, zu
signieren, kryptografische Schlüssel
zu erzeugen oder hand zu haben, etc.). Der DRM-Serversatz 110 sendet
dann den geschützten
Inhalt A an den Benutzer N durch das Netzwerk 120.
-
Jeder
Benutzercomputer 115 empfängt somit den angefragten Inhalt
in einem Format, welcher basierend auf den Diversitätsdaten
geschützt
ist, welche dem Benutzercomputer zugeordnet sind (d. h. dem Benutzercomputer
selbst oder einem seiner Benutzer zugeordnet). Jeder Benutzercomputer
entfernt dann den Schutz, welcher auf den Inhalt angewendet ist,
um auf den Inhalt zuzugreifen. Um den Schutz zu entfernen, benutzt
ein Benutzercomputer eine oder mehr Zugriffsfunktionen, welche geeignet für die Schutzfunktion(en)
sind, welche der DRM-Serversatz auf den Inhalt anwendete. Insbesondere
benutzt der Benutzercomputer für
jede bestimmte Schutzfunktion (z. B. Verschüsselungsfunktion, Schlüsselerzeugungsfunktion,
Integritätsfunktion,
etc.), welche durch den DRM-Serversatz 110 angewendet wurde,
eine bestimmte Zugriffsfunktion (z. B. Entschlüsselungsfunktion, Schlüsselerzeugungsfunktion,
Verifikationsfunktion, etc.), welche geeignet ist, den Schutz, welcher
durch die bestimmte Schutzfunktion angewendet wurde, zu entfernen,
zu erzeugen, oder zu verifizieren.
-
In
verschiedenen Ausführungsformen
benutzt der Benutzercomputer verschiedene Techniken, um den geeigneten
Satz von Zugriffsfunktionen zu identifizieren, welche für jeden
Teil von Inhalt zu benutzen sind, welchen er von dem DRM-Serversatz empfängt. Zum
Beispiel hat in einigen Ausführungsformen
der Benutzercomputer eine Anwendung zum Zugreifen auf DRM-Inhalt.
Die Anwendung sendet die Diversitätsindizien für den Benutzercomputer
an den DRM-Computer. Basierend auf diesen Diversitätsdaten
wählt diese
Anwendung (d. h. ist konfiguriert auszuwählen) einen Satz von Zugriffsfunktionen aus,
welche für
den Satz von Sicherheitselementfunktionen geeignet sind, welche
der DRM-Computer benutzen wird, wenn er den Diversitätsindiziensatz von
dem Benutzercomputer empfängt.
Alternativ könnte
in den Ausführungsformen,
wobei der DRM-Computer Diversitätsdaten
an die Benutzercomputer sendet, der DRM-Computer auch Daten senden,
welche einen Benutzercomputer anweisen (direct), den geeigneten
Satz von Zugriffsfunktionen auszuwählen.
-
III. DIVERSIFIZIERTER INHALTSSCHUTZPROZESS
-
2 illustriert
konzeptionell einen diversifizierten Inhaltschutzprozess 200,
welchen der DRM-Serversatz 110 in einigen Ausführungsformen der
Erfindung durchführt.
Wie in dieser Figur gezeigt, empfängt der Prozess 200 anfänglich (bei 205)
eine Anfrage von dem Benutzercomputer 115, einen Teil von
Inhalt zu erwerben oder zu lizenzieren.
-
Der
Prozess 200 führt
dann eine oder mehr Operationen (bei 210) durch, um die
Erwerbs- oder Lizenzierungstransaktion zu vollenden. Nachdem die Transaktion
vollendet worden ist, empfängt
der Prozess (bei 215) von dem Benutzer einen Satz von Diversitätsindizien.
Dieser Satz von Indizien kann durch den Benutzercomputer ohne irgend
eine Eingabe von dem Benutzer automatisch bereitgestellt sein. Alternativ
kann der Benutzer eine gewisse Eingabe bereitzustellen haben, welche
in diesem Satz von Indizien berücksichtigt
wird. Beispiele von solchen Indizien wurden oben beschrieben.
-
In
einigen Ausführungsformen
könnte
der Satz von DRM-Servern 110 nicht
jedes Mal die Diversitätsindizien
eines Benutzers empfangen, wenn der Benutzer versucht, Inhalt zu
erwerben oder zu lizenzieren. Zum Beispiel empfängt in einigen dieser Ausführungsformen
der DRM-Serversatz die Diversitätsindizien
von einem Benutzer zu dem ersten Zeitpunkt, wenn der Benutzercomputer
in dem DRM-System 100 registriert wird. Alternativ empfängt der
DRM-Server von anderen Ausführungsformen
periodisch Diversitätsindizien
von einem Benutzercomputer. Auch könnte, wie oben erwähnt, der DRM-Serversatz
einige oder alle der Diversitätsindizien
für einen
Benutzer in einigen Ausführungsformen
der Erfindung zuweisen.
-
Bei 220 identifiziert
dann der Prozess einen Satz von Schutzfunktionen, welche auf den
angefragten Teil von Inhalt anzuwenden sind. Der Prozess identifiziert
den Satz von Schutzfunktionen basierend auf den bei 215 identifizierten
Diversitätsindizien. 3 illustriert
ein Beispiel, wie einige Ausführungsformen
den Satz von Schutzfunktionen bei 220 identifizieren. Insbesondere
illustriert diese Figur die DRM-Vorrichtung 300 eines DRM-Servers
einiger Ausführungsformen.
Die DRM-Vorrichtung 300 umfasst einen Diversitätsindexgenerator 305,
eine Schutzvorrichtung (protection engine) 310, und eine Gruppe 315 von
Sicherheitselementfunktionssätzen 320.
-
Wie
in 3 gezeigt, empfängt die Schutzvorrichtung 310 der
DRM-Vorrichtung 300 (1) einen Identifikationsparameter,
welcher den angefragten Teil von Inhalt identifiziert, und (2) einen
Satz von Diversitätsindizien,
welcher den Benutzer identifiziert, welcher nach dem Teil von Inhalt
anfragte. Die Schutzvorrichtung übermittelt
dann den Satz von Diversitätsindizien
an den Diversitätsindexgenerator 305.
Basierend auf dem empfangenen Satz von Diversitätsindizien generiert dann der
Indexgenerator einen Index X, welcher einen Satz SEX von
Sicherheitselementfunktionen in der Gruppe 315 identifiziert.
-
Jeder
Satz von Sicherheitselementfunktionen kann eine oder mehr Sicherheitselement-(SE)-Funktionen
umfassen. Jeder Satz von SE-Funktionen hat wenigstens eine SE-Funktion, welche
verschieden von jedem anderen Satz von SE-Funktionen ist. Beispiele
von SE-Funktionen in einem Satz von SE-Funktionen umfassen eine
Verschlüsselungsfunktion,
eine Integritätsfunktion, Schlüsselerzeugungsfunktion,
und/oder eine Schlüsselmanagementfunktion,
etc. Beispiele von diesen SE-Funktionen
sind weiterhin unten in Sektion IV beschrieben.
-
Sobald
der Prozess 200 (bei 220) die Diversitätsindizien
benutzt, um einen Satz von Schutzfunktionen zu identifizieren, um
den angefragten Inhalt zu schützen,
ruft der Prozess 200 den angefragten Inhalt ab. 3 illustriert
ein Beispiel dieser Operation, da gezeigt ist, dass die Schutzvorrichtung 310 den
angefragten Inhalt von dem Inhaltsspeicher 325 abruft.
-
Der
Prozess benutzt dann (bei 230) den Satz von bei 220 identifizierten
Schutzfunktionen, um den abgerufenen Inhalt zu schützen. 3 illustriert
ein Beispiel dieser Operation bei 230. Diese Figur zeigt, dass
die Schutzvorrichtung 310 den identifizierten Satz SEX von SE-Funktionen auf den abgerufenen Inhalt
anwendet, um ihn zur Übertragung über das Netzwerk
zu schützen
und Zugriff auf den Inhalt auf denjenigen Benutzer zu beschränken, welcher
den Inhalt erwarb oder lizenzierte. Bei 235 sendet dann der
Prozess den geschützten
Inhalt an den Benutzercomputer durch das Netzwerk 120.
Nach 235 endet der Prozess.
-
IV. SICHERHEITSELEMENTFUNKTIONEN
-
Wie
oben erwähnt,
kann jeder Satz von in 3 illustrierten SE-Funktionen 320 eine
oder mehr SE-Funktionen umfassen, wie etwa Verschlüsselungsfunktionen,
Integritätsfunktionen,
und/oder Schlüsselmanagementfunktionen,
etc. Eine Verschlüsselungsfunktion
kann benutzt werden, um den angefragten Inhalt zu verschlüsseln. Eine
Verschlüsselungsfunktion
kann auch benutzt werden, um einen Schlüssel zu verschlüsseln, welcher
durch eine andere Verschlüsselungsfunktion
benutzt ist, welche durch die Schutzvorrichtung benutzt ist (z.
B. die Verschlüsselungsfunktion,
welche den Inhalt verschlüsselt).
-
Verschlüsseln von
Daten (z. B. von Inhalt oder Schlüsseln) umfasst ein Transformieren
der Daten von einer dechiffrierbaren Form (genannt Klartext) in
eine nicht dechiffrierbare Form (genannt Chiffretext) basierend
auf einem oder mehr kryptografischen Schlüsseln. Entschlüsseln von
Inhalt um fasst auf der anderen Seite Transformieren von verschlüsseltem
Inhalt in eine dechiffrierbare Form unter Benutzung von einem oder
mehr kryptografischen Schlüsseln.
-
Ein
Verschlüsselungsschlüssel ist
ein Teil von Information, welcher die Operation eines Kryptografiealgorithmus' kontrolliert. In
symmetrischer Verschlüsselungstechnologie
ist der Schlüssel,
welcher benutzt ist, um Daten zu verschlüsseln derselbe Schlüssel, welcher
benutzt ist, um Daten zu entschlüsseln.
In asymmetrischer Verschlüsselungstechnologie
ist nicht derselbe Schlüssel
benutzt, um die Daten zu verschlüsseln
und zu entschlüsseln. Zum
Beispiel benutzt ein Verschlüsselungsgerät in einem
Schema einen öffentlichen
Schlüssel
eines Empfängers,
um Daten zu verschlüsseln
und der Empfänger
benutzt seinen privaten Schlüssel,
um die verschlüsselten
Daten zu entschlüsseln.
-
Viele
der Merkmale der in diesem Dokument beschriebenen Ausführungsformen
können
in einem symmetrischen oder asymmetrischen Schutzprozess eingesetzt
werden. Auch wird in einigen Ausführungsformen die Verschlüsselung
auf ein binäres Format
der Daten angewendet. Obwohl das nicht verschlüsselte binäre Format eines Teils von Daten für einen
Menschen schwer zu dechiffrieren sein kann, kann es durch eine Anwendung
oder ein Betriebssystem dechiffriert werden. Auf der anderen Seite
sollte idealerweise ein verschlüsseltes
Binärformat
eines Teils von Daten nicht durch irgend eine Anwendung oder ein
Betriebssystem dechiffriert werden, ohne dass dieser Teil zunächst unter
Benutzung eines oder mehr kryptografischer Schlüssel entschlüsselt worden
ist.
-
Verschiedene
Sätze von
SE-Funktionen können
verschiedene Verschlüsselungsfunktionen
haben. Zum Beispiel kann ein Satz von SE-Funktionen AES, DES, oder
Triele-DES haben, während
ein anderer Satz von SE-Funktionen RSA hat.
-
Eine
Integritätsfunktion
ist eine Funktion, welche benutzt ist, um die Integrität der Mitteilung
zu verifizieren, sie kann auch dazu benutzt werden, die verschiedenen
Teilnehmer des DRM-Systems zu authentifizieren, und somit die Quelle
des Inhalts und durch das System verteilte Schlüssel. Einige Ausführungsformen
benutzen eine RSA-Signatur basierend auf PKCS#1-Empfehlung unter
Benutzung von Integritätskurzfassungsfunktionen
(integrity digest functions), wie etwa MD5, SHA-1. Verschiedene
Sätze von
SE-Funktionen können
verschiedene Integritätsfunktionen
haben.
-
Eine
Schlüsselmanagementfunktion
bezieht sich darauf, wie die für
die Schutzfunktionen benutzten Schlüssel gehandhabt werden. Zum
Beispiel benutzen einige Ausführungsformen
für verschiedene Benutzer
verschiedene Verschlüsselungsfunktionen, um
die Schlüssel
zu verschlüsseln,
welche benutzt werden (durch eine andere Verschlüsselungsfunktion oder andere
Verschlüsselungsfunktionen),
um den Inhalt zu verschlüsseln/zu
entschlüsseln.
-
Wie
oben erwähnt,
hat jeder Satz von SE-Funktionen wenigstens eine SE-Funktion, welche verschieden
von jedem anderen Satz von SE-Funktionen ist. In einigen Ausführungsformen
sind die SE-Funktionen, welche vom selben Typ sind (z. B. Verschlüsselungsfunktionen),
mathematikbezogene Funktionen. Die mathematikbezogenen SE-Funktionen
haben denselben funktionalen Ausdruck, aber haben verschiedene Ausgabewerte,
da sie verschiedene Parameterwerte haben. Die verschiedenen Parameterwerte
sind Werte, welche von den Diversitätsindizien jedes Benutzers
abgeleitet sind.
-
4, 5 und 6 illustrieren
Beispiele von einfachen Sätzen
von Funktionen, welche mathematikbezogen sind. In 4 hat
jede mathematikbezogene Funktion in dem Satz von mathematikbezogenen
Funktionen eine verschiedene Steigung. Hiermit ist der Parameterwert
in diesem Beispiel die Steigung. In 5 hat jede
Funktion in dem Satz von mathematikbezogenen Funktionen einen verschiedenen
Wert eines y-Abschnitts. Demgemäß ist der Parameterwert
in diesem Beispiel der Wert des y-Abschnitts. In 6 hat
jede mathematikbezogene Funktion in dem Satz von mathematikbezogenen Funktionen
eine verschiedene Form und kann durch einen Polynomausdruck repräsentiert
sein. Hiermit ist der Parameterwert in diesem Beispiel der Teil
von einem oder mehr Exponenten des Polynomausdrucks.
-
In
einigen Ausführungsformen
sind die SE-Funktionen in dem Satz von Funktionen kein mathematikbezogener
Satz von Funktionen. Zum Beispiel kann der Satz von Funktionen Funktionen
sein, welche in einer Nachsehtabelle (look-up table) gespeichert
sind, welche indiziert ist und auf welche basierend auf dem Indexwert
zugegriffen wird, welcher durch den Diversitätsindexgenerator 305 erzeugt
ist.
-
V. INHALTSZUGRIFF
-
7 illustriert
konzeptionell einen Prozess 700, welchen ein Benutzercomputer 115 durchführt, um
einen Teil von DRM-Inhalt zu erhalten und darauf zuzugreifen. Wie
in dieser Figur gezeigt, sendet der Prozess 700 anfänglich (bei 705)
eine Anfrage nach Inhalt zu dem Satz von DRM-Servern 110. Der Prozess 700 führt dann
eine oder mehr Operationen (bei 710) durch, um die Erwerbs-
oder Lizenzierungstransaktion zu vollenden.
-
Nachdem
die Transaktion vollendet worden ist, sendet der Prozess (bei 715)
die Diversitätsindizien
des Benutzers an den Satz von DRM-Servern 110. Diese Indizien
können
durch den Benutzercomputer ohne irgend eine Eingabe von dem Benutzer automatisch
bereitgestellt sein. Alternativ könnte der Benutzer eine gewisse
Eingabe bereitzustellen haben, welche in diesem Satz von Indizien
berücksichtigt
ist. Beispiele von solchen Indizien wurden oben beschrieben.
-
In
einigen Ausführungsformen
könnte
der Benutzercomputer 115 die Diversitätsindizien des Benutzers nicht
jedes Mal bereitstellen, wenn der Benutzer versucht, Inhalt zu erwerben
oder zu lizenzieren. Zum Beispiel führt in einigen dieser Ausführungsformen
der Benutzercomputer die Diversitätsindizien des Benutzers zum
ersten Zeitpunkt zu, wenn der Benutzer in dem DRM-System 100 registriert wird.
Alternativ stellt ein bestimmter Benutzercomputer von anderen Ausführungsformen
neue Diversitätsindizien
für den
bestimmten Benutzercomputer nach einer gegebenen Zeitspanne oder,
nachdem ein spezifisches Ereignis erfolgte (wie etwa nach einer
gegebenen Anzahl von Benutzeranfragen nach dem geschützten Inhalt),
bereit.
-
Bei 720 empfängt der
Prozess den angefragten Inhalt in einem Format, welcher basierend
auf den durch den Benutzer bereitgestellten Diversitätsindizien
geschützt
ist. Der Prozess entfernt dann (bei 725) den Schutz, welcher
auf den Inhalt angewendet ist, um auf den Inhalt zuzugreifen. Um
den Schutz zu entfernen, benutzt der Benutzercomputer (bei 725) einen
Zugriffsfunktionssatz, welcher geeignet für den Sicherheitsfunktionssatz
ist, welchen der DRM-Serversatz (bei 230) auf den empfangenen
Inhalt anwendete. Insbesondere umfasst der Zugriffsfunktionssatz für jede bestimmte
Sicherheitsfunktion (z. B. Verschlüsselungsfunktion, Schlüsselerzeugungsfunktion,
Integritätsfunktion,
etc.) in dem bei 230 angewendeten Sicherheitsfunktionssatz
eine bestimmte Zugriffsfunktion (z. B. Entschlüsselungsfunktion, Schlüsselerzeugungsfunktion,
Verifikationsfunktion, etc.), welche geeignet ist, den Schutz, welcher
durch die bestimmte Sicherheitsfunktion angewendet wurde, zu entfernen,
zu erzeugen, oder zu verifizieren.
-
In
verschiedenen Ausführungsformen
benutzt der Benutzercomputer verschiedene Techniken, um den geeigneten
Satz von Zugriffsfunktionen zur Benutzung für jeden Teil von Inhalt, welchen
er von dem DRM-Serversatz empfängt,
zu identifizieren. Zum Beispiel hat in einigen Ausführungsformen der
Benutzercomputer eine Anwendung (application) zum Zugreifen auf
DRM-Inhalt. Diese Anwendung sendet die Diversitätsindizien für den Benutzercomputer
zu dem DRM-Serversatz. Basierend auf diesen Diversitätsdaten
wählt diese
Anwendung (d. h. ist konfiguriert, auszuwählen) einen Satz von Zugriffsfunktionen
aus, welche geeignet für
den Satz von Sicherheitselementfunktionen sind, welche der DRM-Server
benutzen wird, wenn er den Diversitätsindiziensatz von dem Benutzercomputer
empfängt. Alternativ
könnte
in denjenigen Ausführungsformen, in
welchen der DRM-Serversatz Diversitätsdaten an die Benutzercomputer
sendet, der DRM-Server satz auch Daten senden, welche einen Benutzercomputer anweisen,
den geeigneten Satz von Zugriffsfunktionen auszuwählen.
-
In
einigen Ausführungsformen
speichert (bei 720) der Prozess 700 den empfangenen
angefragten Inhalt und entfernt dann (bei 725) den Schutz
jedes Mal, wenn der Benutzer auf den empfangenen Inhalt zuzugreifen
bedarf. In anderen Ausführungsformen entfernt
der Prozess (bei 725) den auf den Inhalt angewendeten Schutz
und speichert (bei 725) den Inhalt in einem ungeschützten Format
oder in einem erneut geschützten
Format. In diesen Ausführungsformen
kann der Benutzercomputer jedes Mal, wenn der Benutzer auf den empfangenen
Inhalt zuzugreifen wünscht,
auf den Inhalt in dem ungeschützten Format
zugreifen, oder kann den Schutz entfernen, welcher vorher spezifiziert
ist, und dann auf den Inhalt zugreifen. Nach 725 endet
der Prozess.
-
Während die
Erfindung mit Bezug auf zahlreiche spezifische Details beschrieben
worden ist, wird ein Fachmann mit gewöhnlicher Ausbildung in der
Technik erkennen, dass die Erfindung in anderen spezifischen Formen
verkörpert
werden kann, ohne von dem Geist der Erfindung abzuweichen. Zum Beispiel
illustrieren 1 und 2 ein DRM-System, welches
Diversitätsindizien
von Computern empfängt,
welche geschützten
Inhalt von einem DRM-Server zu erhalten versuchen. Wie jedoch oben
erwähnt,
empfangen die DRM-Server anderer Ausführungsformen keine Diversitätsindizien
von den Benutzercomputern, sondern weisen statt dessen den Satz
von Diversitätsindizien
für jeden
Benutzercomputer zu. Alternativ könnte in einigen Ausführungsformen
der DRM-Server Diversitätsindizien
für den
Satz von Indizien, welchen er für
einen bestimmten Computer benutzt, erzeugen und empfangen. Somit
würde ein
gewöhnlich
ausgebildeter Fachmann der Technik verstehen, dass die Erfindung nicht
durch die vorangehenden illustrativen Details beschränkt werden
soll sondern vielmehr durch die angehängten Ansprüche zu definieren ist.
-
Zusammenfassung
-
Einige
Ausführungsformen
der Erfindung stellen ein Digitale-Rechte-Management-(DRM)-Verfahren
zum Verteilen von Inhalt an Benutzer über ein Netzwerk bereit. Basierend
auf einem ersten Satz von Diversitätsindizien identifiziert das
Verfahren ein erstes Sicherheitselement zum Verteilen einer Menge
von Inhalt an einen ersten Computer. Die Menge von Inhalt umfasst
ein oder mehr Teile von Inhalt. Basierend auf einem zweiten Satz
von Diversitätsindizien
identifiziert das Verfahren ein zweites Sicherheitselement zum Verteilen
der Menge von Inhalt an einen zweiten Computer. Basierend auf dem
ersten Sicherheitselement schützt
das Verfahren die Menge von Inhalt für den ersten Computer und sendet
die geschützte
Menge von Inhalt an den ersten Computer durch das Netzwerk. Basierend
auf dem zweiten Sicherheitselement schützt das Verfahren die Menge von
Inhalt für
den zweiten Computer und sendet die geschützte Menge von Inhalt an den
zweiten Computer durch das Netzwerk.