SPEKEAPIv2 — Standard-Payload-Komponenten - 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 — Standard-Payload-Komponenten

Mit einer einzigen SPEKE Anfrage kann der Verschlüsseler mehrere Inhaltsschlüssel zusammen mit der erforderlichen Manifestsignalisierung für mehrere Verpackungsformate anfordern, je nach dem Verschlüsselungsvertrag, der für einen bestimmten Inhalt definiert ist.

Um all diese Aspekte abzudecken, besteht ein CPIX Standarddokument aus drei obligatorischen Listenabschnitten sowie einem optionalen Listenabschnitt für die Schlüsselrotation bei Live-Inhalten.

<cpix: ContentKeyList > Abschnitt und oberste Ebene <cpix : >Element CPIX

Dies ist ein obligatorischer Abschnitt, der sowohl für Live als auch für VOD Streaming relevant ist und die verschiedenen Inhaltsschlüssel definiert, die vom Verschlüsseler verwendet werden müssen. Das <cpix:ContentKeyList> Element kann ein oder mehrere <cpix:ContentKey> untergeordnete Elemente enthalten, von denen jedes einen eigenen Inhaltsschlüssel beschreibt.

Gemäß der CPIX Spezifikation sind die möglichen Werte des ContentKey@commonEncryptionScheme Attributs in der Spezifikation Common Encryption in ISO Base Media File Format (ISO/IEC23001-7:2016) definiert:

  • 'cenc': CTR Modus zur Verschlüsselung von Vollproben und AES Video-Subsamples NAL

  • 'cbc1': AES - CBC Modus zur Verschlüsselung von vollständigen Samples und Video-Subsamples NAL

  • 'cens': AES Modus zur teilweisen Verschlüsselung von Videomustern CTR NAL

  • 'cbcs': CBC Modus zur teilweisen Verschlüsselung von AES Videomustern NAL

Das folgende Beispiel zeigt ein CPIX Dokument mit einem einzigen, unverschlüsselten Inhaltsschlüssel:

<cpix:CPIX contentId="abc123" version="2.3" xmlns:cpix="urn:dashif:org:cpix" xmlns:pskc="urn:ietf:params:xml:ns:keyprov:pskc"> <cpix:ContentKeyList> <cpix:ContentKey explicitIV="OFj2IjCsPJFfMAxmQxLGPw==" kid="98ee5596-cd3e-a20d-163a-e382420c6eff" commonEncryptionScheme="cbcs"> <cpix:Data> <pskc:Secret> <pskc:PlainValue>5dGAgwGuUYu4dHeHtNlxJw==</pskc:PlainValue> </pskc:Secret> </cpix:Data> </cpix:ContentKey> </cpix:ContentKeyList> ... </cpix:CPIX>

Standardmäßig sind Inhaltsschlüssel nicht verschlüsselt, wie im Beispiel unten. Die Verschlüsselung von Inhaltsschlüsseln kann jedoch vom Verschlüsseler mithilfe des Elements <cpix : >angefordert werden. DeliveryDataList Weitere Informationen finden Sie im Abschnitt Verschlüsselung von Inhaltsschlüsseln.

Element unterstützt von SPEKE Obligatorische Attribute Optionale Attribute Obligatorische untergeordnete Elemente Optionale untergeordnete Elemente

<cpix : >CPIX

contentId, Version, xmlns:cpix, xmlns:pskc

name, xmlns:enc

eins <cpix: ContentKeyList >, eins<cpix : >, eins <cpix : >DRMSystemListContentKeyUsageRuleList

ein<cpix : >, eins <cpix : >DeliveryDataListContentKeyPeriodList

<cpixContentKeyList: >

-

id

mindestens ein <cpix : >ContentKey

-

<cpix : >ContentKey

Kind, Data commonEncryptionScheme

id, Algorithmus, explizite IV

eins <pskc:Secret>

-

<pskc:Secret>

PlainValue oder EncryptedValue

Wert MAC

-

<enc: EncryptionMethod >, <enc : >CipherData

<cpix : >Abschnitt DRMSystemList

Dies ist ein obligatorischer Abschnitt, der sowohl für Live als auch für VOD Streaming relevant ist und in dem die verschiedenen DRM Systeme definiert werden, die zusammen mit den Inhaltsschlüsseln genutzt werden müssen.

Das folgende Beispiel zeigt eine DRM Systemliste mit einer einzigen PlayReady DRM Systemspezifikation:

<cpix:DRMSystemList> <cpix:DRMSystem kid="98ee5596-cd3e-a20d-163a-e382420c6eff" systemId="9a04f079-9840-4286-ab92-e65be0885f95"> <cpix:HLSSignalingData playlist="media">HicXmbZ2m[...]4==</cpix:HLSSignalingData> <cpix:HLSSignalingData playlist="master">HicXmbZ2m[...]jEi</cpix:HLSSignalingData> <cpix:ContentProtectionData>t7WwH24FI[...]YCC</cpix:ContentProtectionData> <cpix:PSSH>FFFFanBzc[...]A==</cpix:PSSH> <cpix:SmoothStreamingProtectionHeaderData>s5RrJ12HL[...]UBB</cpix:SmoothStreamingProtectionHeaderData> </cpix:DRMSystem> </cpix:DRMSystemList>

Eine vollständige Liste von DRM systemIDs finden Sie im Abschnitt Inhaltsschutz des Repositorys DASH -IF Identifiers.

Element unterstützt von SPEKE Obligatorische Attribute Optionale Attribute Obligatorische untergeordnete Elemente Optionale untergeordnete Elemente

<cpix : >DRMSystemList

-

id

mindestens ein <cpix : >DRMSystem

-

<cpix : >DRMSystem

Kind, systemId

ID, Name, PSSH

-

ContentProtectionData, SmoothStreamingProtectionHeaderData, zwei <cpix: HLSSignalingData > -Elemente mit unterschiedlichen Playlist-Attributwerten

DRMSystem@PSSHist obligatorisch, wenn ISO die BMFF Kapselung auf Mediensegmente angewendet wird. DRMSystem.ContentProtectionDataDas innere XML <pssh> Element wird vom Verschlüsseler nur für offensichtliche Signalzwecke genutzt.

Wenn vorhanden DRMSystem@PSSH ist und ein inneres XML <pssh> Element DRMSystem.ContentProtectionData enthält, müssen beide Werte identisch sein.

Wenn die DRMSystem Signalisierung in HLS Manifesten erfolgen soll, müssen sowohl das A <cpix:HLSSignalingData playlist="media"> - als auch das <cpix:HLSSignalingData playlist="master"> A-Element in der CPIX Anfrage und Antwort enthalten sein.

<cpix : >Abschnitt ContentKeyPeriodList

Dies ist ein optionaler Abschnitt, der nur für Live-Streaming relevant ist und die Krypto-Perioden definiert, die auf den Inhalt angewendet werden.

Das <cpix:ContentKeyPeriodList> Element kann ein oder mehrere <cpix:ContentKeyPeriod> untergeordnete Elemente enthalten, von denen jedes eine bestimmte Krypto-Periode in der Live-Timeline beschreibt. Die Verwendung UUIDs als Teil des Werts des ID-Attributs ist ein häufig verwendeter Ansatz.

<cpix:ContentKeyPeriodList> <cpix:ContentKeyPeriod id="keyPeriod_0909829f-40ff-4625-90fa-75da3e53278f" index="1" /> </cpix:ContentKeyPeriodList>
Element unterstützt von SPEKE Obligatorische Attribute Optionale Attribute Obligatorische untergeordnete Elemente Optionale untergeordnete Elemente

<cpix : >ContentKeyPeriodList

-

id

mindestens ein <cpix : >ContentKeyPeriod

-

<cpix : >ContentKeyPeriod

ID, Index

-

-

-

Wenn Kryptoperioden verwendet werden, müssen die Verschlüsselungsschlüssel auch an eine der Kryptoperioden im CPIX Dokument angehängt werden, wie im folgenden Abschnitt gezeigt.

<cpix : >Abschnitt ContentKeyUsageRuleList

Dies ist ein obligatorischer Abschnitt, der sowohl für Live als auch für VOD Streaming relevant ist und definiert, wie die verschiedenen Inhaltsschlüssel Tracks innerhalb des Streamsets und während der Krypto-Perioden schützen.

Das <cpix: ContentKeyUsageRuleList > -Element kann ein oder mehrere untergeordnete <cpix: ContentKeyUsageRule > -Elemente enthalten, von denen jedes die Spuren beschreibt, auf die der Verschlüsseler einen bestimmten Inhaltsschlüssel angewendet hat, möglicherweise während einer bestimmten Kryptoperiode. In einem <cpix: AudioFilter > -Element muss mindestens ein <cpix : >- oder ein <cpix: VideoFilter > -Element vorhanden sein. ContentKeyUsageRule

Das folgende Beispiel zeigt eine einfache Liste mit nur einer Regel, die einen einzigen Inhaltsschlüssel auf alle Audio- und Videotracks während einer bestimmten Kryptoperiode anwendet.

<cpix:ContentKeyUsageRuleList> <cpix:ContentKeyUsageRule kid="98ee5596-cd3e-a20d-163a-e382420c6eff" intendedTrackType="ALL"> <cpix:KeyPeriodFilter periodId="keyPeriod_0909829f-40ff-4625-90fa-75da3e53278f"/> <cpix:AudioFilter /> <cpix:VideoFilter /> </cpix:ContentKeyUsageRule> </cpix:ContentKeyUsageRuleList>
Element unterstützt von SPEKE Obligatorische Attribute Optionale Attribute Obligatorische untergeordnete Elemente Optionale untergeordnete Elemente

<cpix : >ContentKeyUsageRuleList

-

id

mindestens ein <cpix : >ContentKeyUsageRule

-

<cpix : >ContentKeyUsageRule

Kind, intendedTrackType

-

mindestens ein <cpix: AudioFilter > oder ein <cpix : >(*) VideoFilter

<cpix : >KeyPeriodFilter

<cpix : >KeyPeriodFilter

periodId

-

-

-

<cpix : >AudioFilter

-

minChannels, maxChannels

-

-

<cpix : >VideoFilter

-

minPixels,, hdrmaxPixels, minFps maxFps

-

-

(*) Eine ausführliche Erklärung zur Verwendung einzelner oder mehrerer Inhaltsschlüssel zum Schutz eines oder mehrerer Tracks in einem Streamset finden Sie in der Dokumentation zum Verschlüsselungsvertrag. _