SPEKEAPIv2: componentes de carga útil estándar - Especificación de intercambio seguro de claves de empaquetador y codificador API

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

SPEKEAPIv2: componentes de carga útil estándar

Mediante una sola SPEKE solicitud, el cifrador puede solicitar varias claves de contenido, junto con la señalización de manifiesto necesaria para varios formatos de empaquetado, de acuerdo con el contrato de cifrado definido para un contenido determinado.

Para cubrir todos estos aspectos, un CPIX documento estándar se compone de tres secciones de lista obligatorias, además de una sección de lista opcional para la rotación de claves de contenido en directo.

sección <cpix: ContentKeyList > y elemento <cpix : >de nivel superior CPIX

Esta es una sección obligatoria, relevante tanto para la transmisión en directo como para la VOD transmisión, que define las diferentes claves de contenido que debe utilizar el cifrador. El elemento <cpix:ContentKeyList> puede contener uno o varios elementos secundarios <cpix:ContentKey>, cada uno de los cuales describe una clave de contenido distinta.

Según la CPIX especificación, los valores posibles del ContentKey@commonEncryptionScheme atributo se definen en la especificación sobre el cifrado común en los archivos con formato de archivo multimedia ISO básico (ISO/IEC23001-7:2016):

  • 'cenc': AES - CTR modo de cifrado de muestras completas y submuestras de vídeo NAL

  • 'cbc1': AES - CBC modo de cifrado de muestras completas y submuestras de vídeo NAL

  • 'cens': AES - modo de cifrado parcial de patrones de vídeo CTR NAL

  • 'cbcs': AES CBC modo de cifrado parcial del patrón de vídeo NAL

El siguiente ejemplo muestra un CPIX documento con una única clave de contenido no cifrada:

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

De forma predeterminada, las claves de contenido no están cifradas, como en el siguiente ejemplo. Sin embargo, el cifrador puede solicitar el cifrado de las claves de contenido mediante la inclusión del elemento<cpix : >. DeliveryDataList Consulte la sección de cifrado de claves de contenido para obtener más información.

Elemento compatible con SPEKE Atributos obligatorios Atributos opcionales Elementos secundarios obligatorios Elementos secundarios opcionales

<cpix : >CPIX

contentId, versión, xmlns: cpix, xmlns: pskc

nombre, xmlns:enc

uno<cpix : >, uno<cpix : >, uno <cpix : >ContentKeyListDRMSystemListContentKeyUsageRuleList

uno<cpix : >, uno <cpix : >DeliveryDataListContentKeyPeriodList

<cpixContentKeyList: >

-

id

al menos un <cpix : >ContentKey

-

<cpix : >ContentKey

niño, Data commonEncryptionScheme

id, algoritmo, ExpliciTiv

un <pskc:Secret>

-

<pskc:Secret>

PlainValue o EncryptedValue

Valor MAC

-

<enc: EncryptionMethod >, <enc : >CipherData

sección <cpix : >DRMSystemList

Esta es una sección obligatoria, relevante tanto para la transmisión en directo como para la VOD transmisión, que define los diferentes DRM sistemas que deben aprovecharse junto con las claves de contenido.

En el siguiente ejemplo, se muestra una lista de DRM sistemas con una única especificación de PlayReady DRM sistema:

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

Para obtener una lista completa DRMsystemIDs, consulte la sección de protección de contenido del repositorio de identificadores DASH -IF.

Elemento compatible con SPEKE Atributos obligatorios Atributos opcionales Elementos secundarios obligatorios Elementos secundarios opcionales

<cpix : >DRMSystemList

-

id

al menos un <cpix : >DRMSystem

-

<cpix : >DRMSystem

niño, systemId

niño, nombre, PSSH

-

ContentProtectionData, SmoothStreamingProtectionHeaderData, dos elementos de <cpix: HLSSignalingData > con un valor de atributo de lista de reproducción diferente

DRMSystem@PSSHes obligatorio siISO: la BMFF encapsulación se aplica a los segmentos multimedia. DRMSystem.ContentProtectionDataEl cifrador aprovecha el XML <pssh> elemento interno solo con fines de señalización manifiesta.

Si DRMSystem@PSSH está presente y DRMSystem.ContentProtectionData contiene un XML <pssh> elemento interno, ambos valores deberán ser idénticos.

Si la DRMSystem señalización se va a incluir en los HLS manifiestos, tanto <cpix:HLSSignalingData playlist="master"> los elementos a como a deben incluirse en la CPIX solicitud y la respuesta. <cpix:HLSSignalingData playlist="media">

sección <cpix : >ContentKeyPeriodList

Esta es una sección opcional, relevante solo para la transmisión en vivo, que define los períodos criptográficos que se aplican al contenido.

El elemento <cpix:ContentKeyPeriodList> puede contener uno o varios elementos secundarios <cpix:ContentKeyPeriod>, cada uno de los cuales describe un periodo de cifrado distinto en la cronología en directo. UUIDsUsarlo como parte del valor del atributo id es un enfoque que se utiliza habitualmente.

<cpix:ContentKeyPeriodList> <cpix:ContentKeyPeriod id="keyPeriod_0909829f-40ff-4625-90fa-75da3e53278f" index="1" /> </cpix:ContentKeyPeriodList>
Elemento respaldado por SPEKE Atributos obligatorios Atributos opcionales Elementos secundarios obligatorios Elementos secundarios opcionales

<cpix : >ContentKeyPeriodList

-

id

al menos un <cpix : >ContentKeyPeriod

-

<cpix : >ContentKeyPeriod

id, índice

-

-

-

Si se utilizan períodos criptográficos, las claves de cifrado también deben adjuntarse a uno de los períodos criptográficos del CPIX documento, como se muestra en la sección siguiente.

sección <cpix : >ContentKeyUsageRuleList

Esta es una sección obligatoria, relevante tanto para la transmisión en directo como para la VOD transmisión, que define cómo las diferentes claves de contenido protegerán las pistas dentro de la retransmisión y durante los períodos criptográficos.

El elemento <cpix: ContentKeyUsageRuleList > puede contener uno o varios elementos secundarios de <cpix: ContentKeyUsageRule >. Cada uno de ellos describe las pistas a las que el cifrador aplica una clave de contenido determinada, posiblemente durante un periodo criptográfico específico. Es necesario que haya al menos un elemento <cpix: AudioFilter > o un <cpix : >en un elemento <cpix: VideoFilter >. ContentKeyUsageRule

El siguiente ejemplo muestra una lista sencilla con una sola regla que aplica una única clave de contenido a todas las pistas de audio y vídeo durante un periodo de cifrado específico.

<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>
Elemento compatible con SPEKE Atributos obligatorios Atributos opcionales Elementos secundarios obligatorios Elementos secundarios opcionales

<cpix : >ContentKeyUsageRuleList

-

id

al menos un <cpix : >ContentKeyUsageRule

-

<cpix : >ContentKeyUsageRule

niño, intendedTrackType

-

al menos un <cpix: AudioFilter > o un <cpix : >(*) VideoFilter

<cpix : >KeyPeriodFilter

<cpix : >KeyPeriodFilter

periodId

-

-

-

<cpix : >AudioFilter

-

minChannels, maxChannels

-

-

<cpix : >VideoFilter

-

minPixels, hdrmaxPixels, minFps maxFps

-

-

(*) Para obtener una explicación detallada sobre el uso de claves de contenido únicas o múltiples para proteger una o varias pistas de un streamset, consulte la sección de documentación del Contrato de cifrado._