API SPEKE v2 - Composants de charge utile standard - Spécification d'API Secure Packager and Encoder Key Exchange

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

API SPEKE v2 - Composants de charge utile standard

Par le biais d'une seule demande SPEKE, le chiffreur peut demander plusieurs clés de contenu, ainsi que la signalisation manifeste nécessaire pour plusieurs formats d'emballage, conformément au contrat de chiffrement défini pour un contenu donné.

Afin de couvrir tous ces aspects, un document CPIX standard est composé de trois sections de liste obligatoires, ainsi qu'une section de liste facultative pour la rotation des clés de contenu en direct.

<cpix:ContentKeyList><cpix:CPIX>élément de section et de niveau supérieur

Il s'agit d'une section obligatoire, pertinente pour le streaming en direct et en VOD, définissant les différentes clés de contenu devant être utilisées par le chiffreur. Le<cpix:ContentKeyList>peut contenir un ou plusieurs éléments<cpix:ContentKey>éléments enfants, chacun décrivant une clé de contenu distincte.

Conformément à la spécification CPIX, les valeurs possibles duContentKey@commonEncryptionSchemesont définis dans la spécification Chiffrement commun dans les fichiers de format de fichier de support de base ISO (ISO/IEC 23001-7:2016) :

  • « cenc » : Chiffrement complet d'échantillons et de sous-échantillons vidéo en mode AES-CTR

  • « cbc1 » : Chiffrement complet d'échantillons et de sous-échantillons vidéo NAL en mode AES-CBC

  • « cens » : Chiffrement de modèle NAL vidéo partiel en mode AES-CTR

  • « cbcs » : Chiffrement de modèle NAL vidéo partiel en mode AES-CBC

L'exemple suivant montre un document CPIX avec une seule clé de contenu non chiffrée :

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

Par défaut, les clés de contenu ne sont pas chiffrées, comme dans l'exemple ci-dessous. Mais le chiffrement des clés de contenu peut être demandé par le chiffreur via l'inclusion de l'<cpix:DeliveryDataList>élément. Pour en savoir plus, consultez la section Encryption de clé de contenu.

Élément pris en charge par SPEKE Attributs obligatoires Attributs facultatifs Éléments enfants obligatoires Éléments enfants facultatifs

<cpix:CPIX>

ContentID, version, xmlns : cpix, xmlns : pskc

nom, xmlns:enc

un<cpix:ContentKeyList>, un<cpix:DRMSystemList>, un <cpix:ContentKeyUsageRuleList>

un<cpix:DeliveryDataList>, un <cpix:ContentKeyPeriodList>

<cpix:ContentKeyList>

-

id

au moins un <cpix:ContentKey>

-

<cpix:ContentKey>

enfant, Schéma de chiffrement commun, données

id, algorithme, explicitiv

un <pskc:Secret>

-

<pskc:Secret>

PlainValue ou EncryptedValue

Mac Value

-

<enc:EncryptionMethod>, <enc:CipherData>

<cpix:DRMSystemList>section

Il s'agit d'une section obligatoire, pertinente pour le streaming en direct et la VOD, définissant les différents systèmes DRM qui doivent être exploités avec les clés de contenu.

L'exemple suivant présente une liste de système DRM avec une seule PlayReady Spécification du système DRM :

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

Pour obtenir la liste complète des DDRM SystemID, veuillez consulter leSection Protection du contenudu référentiel DASH-IF Identifiers.

Élément pris en charge par SPEKE Attributs obligatoires Attributs facultatifs Éléments enfants obligatoires Éléments enfants facultatifs

<cpix:DRMSystemList>

-

id

au moins un <cpix:DRMSystem>

-

<cpix:DRMSystem>

enfant, SystemID

ID, nom, PSSH

-

ContentProtectionData, SmoothStreamingProtectionHeaderData, deux <cpix:HLSSignalingData>éléments avec une valeur d'attribut de liste de lecture différente

DRMSystem@PSSHest obligatoire si l'encapsulation ISO-BMFF est appliquée à des segments de support.DRMSystem.ContentProtectionDataXML interne<pssh>est exploité par le chiffreur uniquement à des fins de signalisation manifeste.

SiDRMSystem@PSSHest présent etDRMSystem.ContentProtectionDatacontient un InnerXML<pssh>, les deux valeurs doivent être identiques.

SiDRMSystemla signalisation doit être portée dans les manifestes HLS, à la fois<cpix:HLSSignalingData playlist="media">et un<cpix:HLSSignalingData playlist="master">les éléments doivent être inclus dans la demande et la réponse CPIX.

<cpix:ContentKeyPeriodList>section

Il s'agit d'une section facultative, pertinente uniquement pour la diffusion en direct, définissant les périodes de chiffrement appliquées au contenu.

Le<cpix:ContentKeyPeriodList>peut contenir un ou plusieurs éléments<cpix:ContentKeyPeriod>éléments enfants, chacun décrivant une période de chiffrement distincte dans la chronologie en direct. L'utilisation d'UUID comme partie de la valeur de l'attribut id est une approche couramment utilisée.

<cpix:ContentKeyPeriodList> <cpix:ContentKeyPeriod id="keyPeriod_0909829f-40ff-4625-90fa-75da3e53278f" index="1" /> </cpix:ContentKeyPeriodList>
Élément pris en charge par SPEKE Attributs obligatoires Attributs facultatifs Éléments enfants obligatoires Éléments enfants facultatifs

<cpix:ContentKeyPeriodList>

-

id

au moins un <cpix:ContentKeyPeriod>

-

<cpix:ContentKeyPeriod>

ID, index

-

-

-

Si des périodes de chiffrement sont utilisées, les clés de chiffrement doivent également être attachées à l'une des périodes de chiffrement du document CPIX, comme indiqué dans la section ci-dessous.

<cpix:ContentKeyUsageRuleList>section

Il s'agit d'une section obligatoire, pertinente pour le streaming en direct et en VOD, qui définit comment les différentes clés de contenu protègent les pistes à l'intérieur du streaming et pendant les périodes de chiffrement.

L'<cpix:ContentKeyUsageRuleList>élément peut contenir un ou plusieurs <cpix:ContentKeyUsageRule>éléments enfants, chacun décrivant les pistes auxquelles une clé de contenu donnée est appliquée par le chiffreur, potentiellement pendant une période de chiffrement spécifique. Au moins un <cpix:AudioFilter>ou un <cpix:VideoFilter>élément doit être présent dans un <cpix:ContentKeyUsageRule>élément.

L'exemple suivant montre une liste simple avec une seule règle qui applique une seule clé de contenu à toutes les pistes audio et vidéo pendant une période de chiffrement spécifique.

<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>
Élément pris en charge par SPEKE Attributs obligatoires Attributs facultatifs Éléments enfants obligatoires Éléments enfants facultatifs

<cpix:ContentKeyUsageRuleList>

-

id

au moins un <cpix:ContentKeyUsageRule>

-

<cpix:ContentKeyUsageRule>

enfant, type de piste prévu

-

au moins un <cpix:AudioFilter>ou un <cpix:VideoFilter>(*)

<cpix:KeyPeriodFilter>

<cpix:KeyPeriodFilter>

Id PérioD

-

-

-

<cpix:AudioFilter>

-

Chaînes MIN, canaux Max

-

-

<cpix:VideoFilter>

-

MinPixels, MaxPixels, HDR, MinFPS, MaxFPS

-

-

(*) Pour obtenir des explications détaillées sur l'utilisation d'une ou de plusieurs clés de contenu pour protéger une ou plusieurs pistes dans un streaming, veuillez consulter leContrat de crypsection documentation. _