Entwickeln eines PlayReady-Paketrs
Es gibt mehrere Überlegungen, die Sie untersuchen sollten, bevor Sie mit der Integration von PlayReady in Ihrem Packager beginnen, um Inhalte zu schützen. Beachten Sie, dass das Entwickeln eines Paketrs, der PlayReady-Schutz für Inhalte bereitstellt, die Sie verschlüsseln möchten:
- Erfordert keine Lizenzvereinbarung von Microsoft.
- Es gibt keine Gebühren für Microsoft, die dem Einfügen von PlayReady in Ihren Inhalten zugeordnet sind.
- Es gibt keine Lizenzzahlungen an Microsoft, die für PlayReady-Encoder oder Paketer gelten.
Daher müssen Sie keine Zeit oder ein Budget für diese Elemente zuweisen.
Hinweis
Einige Microsoft PlayReady Partner können einen PlayReady-Paketer für Ihr Unternehmen entwickeln, wenn Sie es nicht selbst entwickeln möchten.
Entwicklungsübersicht
Die Entwicklungszeit für die Integration der PlayReady-Funktionalität in Ihrem Packager hängt von der Entwicklung und dem Testen der folgenden Komponenten ab:
Schlüsselgenerator – generiert den Schlüsselwert, der zum Verschlüsseln des Inhalts verwendet wird (zusammen mit der zugeordneten KeyID). Wenn Sie den KeySeed-Mechanismus verwenden, muss dieser Generator die Funktion wie in der PlayReady Key Seed-Spezifikation definiert implementieren.
PlayReady Header Generator – generiert das PlayReady-Objekt (einschließlich der PlayReady-Kopfzeile und/oder einer eingebetteten Lizenz Store). Dieser PlayReady-Header enthält die KeyID oder die Liste der KeyIDs, die Standard-URL des PlayReady-Lizenzservers und jeden benutzerdefinierten Wert, den Sie für Ihre geschützten Inhalte benötigen. Diese Funktion muss den in der PlayReady-Headerspezifikation beschriebenen Anforderungen entsprechen.
Packager – packt den Inhalt mithilfe des vom Schlüsselgenerator bereitgestellten Schlüsselwerts und das PlayReady-Objekt, das vom PlayReady-Header-Generator erstellt wurde.
Schlüsselverwaltungssystem – speichert den Schlüsselwert und die zugeordnete KeyId (nicht erforderlich, wenn der KeySeed-Mechanismus verwendet wird).
Entwickeln eines PlayReady-Paketrs
Wenn Sie beschlossen haben, Ihr eigenes PlayReady-Paketr zu entwickeln, müssen Sie entscheiden, wie der Paketer funktionieren soll, basierend auf der Vorgehensweise, wie Ihre Inhalte gespeichert und übermittelt werden sollen. Die folgende Liste enthält die erforderlichen Schritte zum Hinzufügen von PlayReady-Funktionen zu Ihrem Packager.
Wählen Sie Ihr Verschlüsselungsformat aus. Mehrere verschiedene Verschlüsselungstypen werden verwendet, um Inhalte zu schützen. Microsoft PlayReady Systeme verwenden den symmetrischen Schlüsselalgorithmus, Advanced Encryption Standard (AES). Ab Version 4.0 unterstützen PlayReady-Systeme AES 128-Schlüssel sowohl im CBC-Modus (Cipher Block Chaining) als auch im CTR (Counter Mode), wie im ISO-Standard ISO/IEC 23001-7 definiert. Die Verschlüsselungsmechanismen, die zum Schutz von Inhalten verwendet werden, werden in einem Container gekapselt, sodass Dateien effizient durchsucht und auf einer Vielzahl von Plattformen entschlüsselt werden können.
Jedes Verschlüsselungsformat, das AES-128-Schlüssel verwendet, die im CTR-Modus oder im CBC-Modus verwendet werden, ist durch die Complianceregeln für PlayReady-Produkte zulässig. Weitere Informationen finden Sie unter PlayReady-Inhaltsverschlüsselungsmodi.
Wählen Sie aus, wie Sie Ihre Inhalte verschlüsseln werden. Weitere Informationen finden Sie unter Verwenden von Verschlüsselungsschlüsseln.
Wählen Sie aus, ob Sie Ihre Inhalte nur mit PlayReady entschlüsseln möchten oder ob Sie mehrere DRMs unterstützen möchten. Weitere Informationen finden Sie unter Verwenden von Verschlüsselungstools.
Wählen Sie aus, wie Sie Inhaltsschlüssel generieren und speichern (Schlüsselwert und Schlüssel-ID).
Ihr Paketgeber sollte eine Art von Schlüsselgenerator enthalten, der den Schlüsselwert erstellt, der verwendet wird, um Ihre Inhalte zu verschlüsseln und zu entschlüsseln. Der Schlüsselgenerator sollte eine Schlüssel-ID dem Schlüsselwert zuordnen. Der Schlüsselwert bleibt ein Geheimer, und die Schlüssel-ID ist öffentlich und wird in der PlayReady-Kopfzeile in Ihren Inhalten eingefügt. Wenn der Paketer keinen Schlüsselgenerator enthält, müssen Sie eine separate Entwicklung oder Quelle erstellen oder bereitstellen.
Sie müssen entweder ein Schlüsselverwaltungssystem entwickeln, um mehrere Schlüsselwerte und deren zugeordnete Schlüssel-IDs zu speichern oder einen von einem Drittanbieter zu lizenzieren. Das Schlüsselverwaltungssystem könnte eine Datenbank oder eine andere Art von Speichersystem sein, muss jedoch sicher sein, um zu verhindern, dass jeder auf die Schlüsselwerte ohne Autorisierung zugreifen kann. Microsoft stellt kein Schlüsselverwaltungssystem mit PlayReady bereit. Alternativ können Sie den Mit PlayReady bereitgestellten KeySeed-Mechanismus anstelle des Schlüsselverwaltungssystems verwenden (der KeySeed-Mechanismus muss in Ihren Paketer und auf dem PlayReady-Server integriert werden, der die Lizenzen für die Entschlüsselung des Inhalts bereitstellt).
Wählen Sie aus, wie Sie ein PlayReady-Objekt (einschließlich der PlayReady-Kopfzeile und/oder des eingebetteten Lizenzspeichers) in Ihren verschlüsselten Inhalten einfügen. Weitere Informationen finden Sie unter "Generieren eines PlayReady-Headers".
Wählen Sie aus, wie Sie die wichtigsten Werte und Schlüssel-IDs für einen PlayReady-Server bereitstellen, der dann die Schlüsselwerte an PlayReady-Clients verteilt.
Sie können Ihren eigenen PlayReady-Lizenzserver entwickeln (erfordert eine Lizenz von PlayReady – aber keine Gebühren oder Lizenzgebühren werden von Microsoft für Ihre Entwicklung oder Nutzung eines PlayReady-Servers gesammelt), oder Sie können einen PlayReady Server verwenden, der von einem Drittanbieter bereitgestellt oder betrieben wird. Unabhängig davon, ob Sie Ihren eigenen PlayReady Server oder den PlayReady Server entwickeln oder von einem Drittanbieter betrieben werden, müssen Sie die wichtigsten Werte und die Schlüssel-IDs auf den Server rechtzeitig kommunizieren können, damit der Client Ihre Inhalte effizient wiedergeben kann.
Wählen Sie aus, wie die Clients den PlayReady-Lizenzserver kontaktieren, um die Inhaltsverschlüsselungsschlüssel zu erwerben. Die Client-Apps müssen sich der PlayReady-Lizenzserver-URL (auch als Lizenzerwerbs-URL oder LA-URL bezeichnet) bewusst sein, wenn sie eine Lizenz erwerben müssen. Die Client-Apps können programmiert werden, um diesen LA-URL-Wert hart codiert zu haben oder sie dynamisch vom Server abzurufen. Wenn die Client-App diesen LA-URL-Wert nicht aufweist, wird der LA-URL-Wert verwendet, der im PlayReady-Header des Inhalts gefunden wurde, was die Standard-LA-URL ist. Obwohl es nicht erforderlich ist, ist es sehr häufig, dass Dienste einen Standard-LA-URL-Wert in den PlayReady-Header des Inhalts zur Verpackungszeit einschließen.