SPEKEAPIv2 - Komponen muatan standar - Spesifikasi Pertukaran Kunci Pengemas dan Encoder Aman API

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

SPEKEAPIv2 - Komponen muatan standar

Melalui satu SPEKE permintaan, enkripsi dapat meminta beberapa kunci konten, bersama dengan pensinyalan manfest yang diperlukan untuk beberapa format kemasan, sesuai dengan kontrak enkripsi yang ditentukan untuk konten tertentu.

Untuk mencakup semua aspek ini, CPIX dokumen standar terdiri dari tiga bagian daftar wajib, ditambah bagian daftar opsional untuk rotasi kunci konten langsung.

<cpix: ContentKeyList > bagian dan tingkat atas <cpix : >elemen CPIX

Ini adalah bagian wajib, relevan untuk Live dan VOD streaming, mendefinisikan kunci konten berbeda yang perlu digunakan oleh enkripsi. <cpix:ContentKeyList>Elemen dapat berisi satu atau beberapa elemen <cpix:ContentKey> anak, masing-masing menggambarkan kunci konten yang berbeda.

Sesuai CPIX spesifikasi, nilai yang mungkin dari ContentKey@commonEncryptionScheme atribut didefinisikan dalam enkripsi umum dalam spesifikasi file format file media ISO dasar (ISO/IEC23001-7:2016):

  • 'cenc': AES - CTR mode sampel lengkap dan enkripsi Subsample video NAL

  • 'cbc1': AES - CBC mode sampel lengkap dan enkripsi Subsample video NAL

  • 'cens': AES - CTR mode enkripsi pola video NAL sebagian

  • 'cbcs': AES - CBC mode enkripsi pola video sebagian NAL

Contoh berikut menunjukkan CPIX dokumen dengan kunci konten tunggal yang tidak terenkripsi:

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

Secara default, kunci konten tidak dienkripsi, seperti pada contoh di bawah ini. Tetapi enkripsi kunci konten dapat diminta oleh enkripsi melalui penyertaan elemen<cpix : >. DeliveryDataList Silakan merujuk ke bagian Enkripsi Kunci Konten untuk lebih jelasnya.

Elemen didukung oleh SPEKE Atribut wajib Atribut opsional Elemen anak wajib Elemen anak opsional

<cpix : >CPIX

contentId, versi, xmlns:cpix, xmlns:pskc

nama, xmlns:enc

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

satu <cpix: DeliveryDataList >, satu <cpix : >ContentKeyPeriodList

<cpix : >ContentKeyList

-

id

setidaknya satu <cpix : >ContentKey

-

<cpix : >ContentKey

anak, commonEncryptionScheme, Data

id, Algoritma, ExplicitiV

satu <pskc:Secret>

-

<pskc:Secret>

PlainValue atau EncryptedValue

Nilai MAC

-

<enc: EncryptionMethod >, <enc : >CipherData

<cpix : >bagian DRMSystemList

Ini adalah bagian wajib, relevan untuk Live dan VOD streaming, mendefinisikan berbagai DRM sistem yang perlu dimanfaatkan bersama dengan kunci konten.

Contoh berikut menunjukkan daftar DRM sistem dengan spesifikasi PlayReady DRM sistem tunggal:

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

Untuk daftar lengkap DRMsystemIDs, silakan merujuk ke bagian Perlindungan Konten dari repositori DASH -IF Identifiers.

Elemen didukung oleh SPEKE Atribut wajib Atribut opsional Elemen anak wajib Elemen anak opsional

<cpix : >DRMSystemList

-

id

setidaknya satu <cpix : >DRMSystem

-

<cpix : >DRMSystem

anak, systemId

id, nama, PSSH

-

ContentProtectionData, SmoothStreamingProtectionHeaderData, dua <cpix: HLSSignalingData > elemen dengan nilai atribut playlist yang berbeda

DRMSystem@PSSHwajib jika ISO - BMFF enkapsulasi diterapkan pada segmen media. DRMSystem.ContentProtectionDataXML<pssh>elemen dalam dimanfaatkan oleh enkripsi hanya untuk tujuan pensinyalan manifes.

Jika DRMSystem@PSSH ada dan DRMSystem.ContentProtectionData mengandung XML <pssh> elemen dalam, kedua nilai harus identik.

Jika DRMSystem pensinyalan harus dilakukan dalam HLS manifes, baik a <cpix:HLSSignalingData playlist="media"> dan <cpix:HLSSignalingData playlist="master"> elemen harus dimasukkan dalam CPIX permintaan dan tanggapan.

<cpix : >bagian ContentKeyPeriodList

Ini adalah bagian opsional, hanya relevan untuk Streaming langsung, yang menentukan periode kripto yang diterapkan pada konten.

<cpix:ContentKeyPeriodList>Elemen tersebut dapat berisi satu atau beberapa elemen <cpix:ContentKeyPeriod> anak, masing-masing menggambarkan periode kripto yang berbeda dalam timeline langsung. Menggunakan UUIDs sebagai bagian dari nilai atribut id adalah pendekatan yang umum digunakan.

<cpix:ContentKeyPeriodList> <cpix:ContentKeyPeriod id="keyPeriod_0909829f-40ff-4625-90fa-75da3e53278f" index="1" /> </cpix:ContentKeyPeriodList>
Elemen didukung oleh SPEKE Atribut wajib Atribut opsional Elemen anak wajib Elemen anak opsional

<cpix : >ContentKeyPeriodList

-

id

setidaknya satu <cpix : >ContentKeyPeriod

-

<cpix : >ContentKeyPeriod

id, indeks

-

-

-

Jika periode kripto digunakan, kunci enkripsi juga harus dilampirkan ke salah satu periode kripto dalam CPIX dokumen, seperti yang ditunjukkan pada bagian di bawah ini.

<cpix : >bagian ContentKeyUsageRuleList

Ini adalah bagian wajib, relevan untuk Live dan VOD streaming, yang menentukan bagaimana kunci konten yang berbeda akan melindungi trek di dalam streamset dan di seluruh periode kripto.

Elemen <cpix: ContentKeyUsageRuleList > dapat berisi satu atau beberapa <cpix: ContentKeyUsageRule > elemen anak, masing-masing menggambarkan trek yang diterapkan kunci konten tertentu oleh enkripsi, berpotensi selama periode kripto tertentu. Setidaknya satu <cpix: AudioFilter > atau satu <cpix: VideoFilter > elemen diperlukan untuk hadir dalam elemen<cpix : >. ContentKeyUsageRule

Contoh berikut menunjukkan daftar sederhana dengan hanya satu aturan yang menerapkan satu kunci konten ke semua trek audio dan video selama periode kripto tertentu.

<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>
Elemen didukung oleh SPEKE Atribut wajib Atribut opsional Elemen anak wajib Elemen anak opsional

<cpix : >ContentKeyUsageRuleList

-

id

setidaknya satu <cpix : >ContentKeyUsageRule

-

<cpix : >ContentKeyUsageRule

anak, intendedTrackType

-

setidaknya satu <cpix: AudioFilter > atau satu <cpix : >(*) VideoFilter

<cpix : >KeyPeriodFilter

<cpix : >KeyPeriodFilter

periodId

-

-

-

<cpix : >AudioFilter

-

minChannels, maxChannels

-

-

<cpix : >VideoFilter

-

minPixelsmaxPixels, hdr,, minFps maxFps

-

-

(*) Untuk penjelasan rinci tentang penggunaan satu atau beberapa kunci konten untuk melindungi satu atau beberapa trek dalam streamset, silakan merujuk ke bagian dokumentasi Kontrak Enkripsi. _