CPL : AssetType : TrackFile

Préface

L'AssetType TrackFile est le parent des AssetTypes Pictures, Sounds, Subtitles, Captions et Data (AuxData)

Cet AssetType est relativement assez simple, il ne va intégrer que deux éléments qui sont tous les deux optionnels, mais pourtant très importants - et obligatoires - dans le domaine de la sécurité des CPL et des assets.

Un exemple de TrackFileAssetType appliqué sur un faux AssetType appelé Example :

<Example>
    <Id>urn:uuid:3bd3d849-117b-46b0-bc45-3d3228c987c6</Id>         -----.
    <AnnotationText language="en">Example</AnnotationText>              |
    <EditRate>24 1</EditRate>                                           |--- Generic
    <IntrinsicDuration>24</IntrinsicDuration>                           |
    <EntryPoint>0</EntryPoint>                                          |
    <Duration>24</Duration>                                        -----'
    <KeyId>urn:uuid:cf2ab7c6-c00f-4d52-aae2-3c3396a89b93</KeyId>   -----.--- TrackFile
    <Hash>hnBSgENJXOvI6bfpat7GA1VImss=</Hash>                      -----'
</Example>

Description

Comme indiqué dans le préambule, voici les deux éléments optionnels en temps normal mais totalement obligatoires quand il faudra sécuriser la CPL :

Nom Format Exemple
KeyId UUID - URN urn:uuid:cf2ab7c6-c00f-4d52-aae2-3c3396a89b93 Optionnel
Hash SHA1 + Base64 hnBSgENJXOvI6bfpat7GA1VImss= Optionnel

KeyId est la Cryptographic Key Id du MXF : dans un MXF chiffré, cet UUID est inscrit dans le KLV Cryptographic Context dans le champ Cryptographic Key ID, voir le chapitre MXF Cryptography pour pouvoir récupérer cet identifiant.

Hash est l'empreinte du fichier.

Le calcul est effectué avec l'algorithme de hash SHA-1 du fichier, enrobé dans un encodage Base64.

Concrètement, nous effectuons ce calcul :

Hash = Base64 ( SHA1 ( Content ) )

Pour effectuer ce calcul avec OpenSSL sur video.mxf :

openssl dgst -sha1 -binary video.mxf | openssl base64 hnBSgENJXOvI6bfpat7GA1VImss=

L'élement Hash doit être présent si l'élement KeyId est présent.

Limitation de 256 KeyId

Il existe une limitation de 256 KeyId différentes par CPL.

On retrouve cette contrainte dans deux documentations distinctes :

Conclusion

Le TrackFile va être le parent des Pictures, Sounds, Subtitles, Captions et Data (AuxData).

Chapitre annexes