SPEKEAPIv2 — Anpassungen und Einschränkungen der -IF-Spezifikation DASH - Spezifikation für Secure Packager und Encoder Key Exchange API

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

SPEKEAPIv2 — Anpassungen und Einschränkungen der -IF-Spezifikation DASH

Die Spezifikation des DASH Industry Forum CPIX 2.3 unterstützt eine Reihe von Anwendungsfällen und Topologien. Die SPEKE API v2.0-Spezifikation definiert sowohl ein CPIX Profil als auch ein API For. CPIX Um diese beiden Ziele zu erreichen, hält sie sich an die CPIX Spezifikation mit den folgenden Anpassungen und Einschränkungen:

CPIXProfil
  • SPEKE folgt dem Verschlüsseler-Consumer-Workflow.

  • Für verschlüsselte Inhaltsschlüssel SPEKE gelten die folgenden Einschränkungen:

    • SPEKEunterstützt keine Überprüfung digitaler Signaturen (XMLDSIG) für Payloads von Anfragen oder Antworten.

    • SPEKEerfordert 2048 RSA basierte Zertifikate.

  • SPEKEnutzt nur einen Teil der Funktionen: CPIX

    • SPEKE verwendet die UpdateHistoryItemList-Funktionalität nicht. Wenn die Liste in der Antwort enthalten ist, wird SPEKE sie ignoriert.

    • SPEKElässt die Root-/Leaf-Tasten-Funktionalität aus. Wenn das ContentKey@dependsOnKey Attribut in der Antwort vorhanden ist, wird es ignoriert. SPEKE

    • SPEKElässt das BitrateFilter Element und das VideoFilter@wcg Attribut aus. Wenn diese Elemente oder Attribute in der CPIX Nutzlast vorhanden sind, wird SPEKE sie ignoriert.

  • In CPIX Dokumenten, die mit Version 2 ausgetauscht werden, können nur die Elemente oder Attribute verwendet werden, auf die auf der Seite „Standard-Payload-Komponenten“ oder auf der Seite „Verschlüsselungsvertrag“ als „Unterstützt“ verwiesen wird. SPEKE

  • Wenn sie in einer CPIX Anfrage des Verschlüsselers enthalten sind, müssen alle Elemente und Attribute in der Antwort des Schlüsselanbieters CPIX einen gültigen Wert enthalten. Wenn nicht, stoppt der Verschlüsseler und gibt einen Fehler aus.

  • SPEKEunterstützt die Schlüsselrotation mit KeyPeriodFilter Elementen. SPEKEverwendet nur dieContentKeyPeriod@index, um den Schlüsselzeitraum zu verfolgen.

  • Für die HLS Signalisierung müssen mehrere DRMSystem.HLSSignalingData Elemente verwendet werden: eines mit dem DRMSystem.HLSSignalingData@playlist Attributwert „media“ und eines mit dem DRMSystem.HLSSignalingData@playlist Attributwert „master“.

  • Beim Anfordern von Schlüsseln verwendet der Verschlüsseler möglicherweise das optionale Attribut @explicitIV des Elements ContentKey. Der Schlüsselanbieter kann mit einem IV unter Verwendung von @explicitIV antworten, auch wenn das Attribut nicht in der Anforderung enthalten ist.

  • Die Verschlüsseler erstellt die Schlüssel-ID (KID), die für alle Inhalts-IDs und Schlüsselzeiträume gleich bleibt. Der Schlüsselanbieter schließt KID in seiner Antwort auf das Anforderungsdokument ein.

  • Der Verschlüsseler muss einen Wert für das Attribut enthalten. CPIX@contentId Wenn der Schlüsselanbieter einen leeren Wert für dieses Attribut erhält, gibt er einen Fehler mit der Beschreibung „Missing CPIX @contentId“ zurück. CPIX@contentIdDer Wert kann vom Schlüsselanbieter nicht überschrieben werden.

    CPIX@idWert, falls nicht Null, muss vom Schlüsselanbieter ignoriert werden.

  • Der Verschlüsseler muss einen Wert für das CPIX@version Attribut enthalten. Wenn der Schlüsselanbieter einen leeren Wert für dieses Attribut erhält, gibt er einen Fehler mit der Beschreibung „Missing CPIX @version“ zurück. Wenn eine Anfrage mit einer nicht unterstützten Version empfangen wird, muss die vom Schlüsselanbieter zurückgegebene Fehlerbeschreibung „CPIXUnsupported @version“ lauten.

    CPIX@versionDer Wert kann vom Schlüsselanbieter nicht überschrieben werden.

  • Der Verschlüsseler muss für jeden angeforderten Schlüssel einen Wert für das ContentKey@commonEncryptionScheme Attribut angeben. Wenn der Schlüsselanbieter einen leeren Wert für dieses Attribut erhält, gibt er einen Fehler mit der Beschreibung „Missing ContentKey @ commonEncryptionScheme for KIDid“ zurück.

    Ein einzelnes CPIX Dokument kann nicht mehrere Werte für verschiedene ContentKey@commonEncryptionScheme Attribute kombinieren. Beim Empfang einer solchen Kombination gibt der Schlüsselanbieter einen Fehler mit der Beschreibung „Nicht konforme ContentKey commonEncryptionScheme @-Kombination“ zurück.

    Nicht alle ContentKey@commonEncryptionScheme Werte sind mit allen DRM Technologien kompatibel. Beim Empfang einer solchen Kombination gibt der Schlüsselanbieter einen Fehler mit der Beschreibung „ContentKey@ commonEncryptionScheme nicht kompatibel mit DRMSystemid“ zurück.

    ContentKey@commonEncryptionSchemeDer Wert kann vom Schlüsselanbieter nicht überschrieben werden.

  • Beim Empfang verschiedener Werte für DRMSystem@PSSH XML <pssh> ein DRMSystem.ContentProtectionData inneres Element im CPIX Antworttext stoppt der Verschlüsseler und gibt einen Fehler aus.

API für CPIX
  • Der Schlüsselanbieter muss einen Wert für den X-Speke-User-Agent HTTP Antwort-Header angeben.

  • Ein SPEKE -kompatibler Verschlüsseler fungiert als Client und sendet POST Operationen an den Endpunkt des Schlüsselanbieters.

  • Der Verschlüsseler muss einen Wert für den X-Speke-Version HTTP Anforderungsheader enthalten, wobei die bei der Anfrage verwendete SPEKE Version wie folgt formuliert ist. MajorVersion MinorVersion, wie '2.0' für SPEKE v2.0. Wenn der Schlüsselanbieter die vom Verschlüsseler für die aktuelle Anfrage verwendete SPEKE Version nicht unterstützt, gibt der Schlüsselanbieter einen Fehler mit der Beschreibung „Nicht unterstützte SPEKE Version“ zurück und versucht nicht, das CPIX Dokument nach bestem Wissen zu verarbeiten.

    Der vom Verschlüsseler definierte X-Speke-Version Header-Wert kann vom Schlüsselanbieter in der Antwort auf die Anfrage nicht geändert werden.

  • Beim Empfang von Fehlern im Antworttext gibt der Verschlüsseler einen Fehler aus und versucht die Anfrage nicht erneut mit einer SPEKE Version 1.0.

    Wenn der Schlüsselanbieter keinen Fehler zurückgibt, aber kein CPIX Dokument zurückgibt, das die obligatorischen Informationen enthält, sollte der Verschlüsseler anhalten und einen Fehler ausgeben.

In der folgenden Tabelle sind die Standardnachrichten zusammengefasst, die vom Schlüsselanbieter im Hauptteil der Nachricht zurückgegeben werden müssen. In Fehlerfällen muss der HTTP Antwortcode 4XX oder 5XX sein, niemals 200. Der 422-Fehlercode kann für alle Fehler verwendet werden, die mit/zusammenhängenSPEKE. CPIX

Fehlerfall Fehlermeldung

CPIX@ contentId ist nicht definiert

CPIX@ fehlt contentId

CPIX@version ist nicht definiert

CPIX@version fehlt

CPIX@version wird nicht unterstützt

Nicht unterstützt @version CPIX

ContentKey@ commonEncryptionScheme ist nicht definiert

ContentKey@ commonEncryptionScheme für fehlt KID id (wo dem Wert ContentKey @kid id entspricht)

In einem einzigen CPIX Dokument werden mehrere ContentKey commonEncryptionScheme @-Werte verwendet

Nicht konforme ContentKey commonEncryptionScheme @-Kombination

ContentKey@ commonEncryptionScheme ist nicht mit der DRM Technologie kompatibel

ContentKey@ commonEncryptionScheme ist nicht kompatibel mit DRMSystem id (wo dem systemId Wert DRMSystem @ id entspricht)

Der Header-Wert X-Speke-Version ist keine unterstützte Version SPEKE

Nicht unterstützte Version SPEKE

Der Verschlüsselungsvertrag ist falsch formatiert

Fehlerhafter Verschlüsselungsvertrag

Der Verschlüsselungsvertrag widerspricht den Einschränkungen der DRM Sicherheitsstufen

Der angeforderte CPIX Verschlüsselungsvertrag wird nicht unterstützt

Der Verschlüsselungsvertrag enthält keine VideoFilter AudioFilter OR-Elemente

Fehlender CPIX Verschlüsselungsvertrag