SPEKEAPIv2 - Kustomisasi dan kendala untuk spesifikasi -IF DASH - 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 - Kustomisasi dan kendala untuk spesifikasi -IF DASH

Spesifikasi Forum DASH Industri CPIX 2.3 mendukung sejumlah kasus penggunaan dan topologi. Spesifikasi SPEKE API v2.0 mendefinisikan CPIX Profil dan for. API CPIX Untuk mencapai dua tujuan ini, ia mematuhi CPIX spesifikasi dengan penyesuaian dan kendala berikut:

CPIXProfil
  • SPEKEmengikuti alur kerja Encryptor Consumer.

  • Untuk kunci konten terenkripsi, SPEKE terapkan batasan berikut:

    • SPEKEtidak mendukung verifikasi tanda tangan digital (XMLDSIG) untuk muatan permintaan atau respons.

    • SPEKEmembutuhkan sertifikat RSA berbasis 2048.

  • SPEKEmemanfaatkan hanya sebagian dari fungsionalitasCPIX:

    • SPEKEmenghilangkan UpdateHistoryItemList fungsionalitas. Jika daftar ada dalam respons, SPEKE abaikan saja.

    • SPEKEmenghilangkan fungsionalitas kunci akar/daun. Jika ContentKey@dependsOnKey atribut hadir dalam respons, SPEKE abaikan saja.

    • SPEKEmenghilangkan BitrateFilter elemen dan VideoFilter@wcg atribut. Jika elemen atau atribut ini ada dalam CPIX muatan, SPEKE abaikan saja.

  • Hanya elemen atau atribut yang direferensikan sebagai 'Didukung' pada halaman Komponen Muatan Standar atau halaman kontrak Enkripsi yang dapat digunakan dalam CPIX dokumen yang dipertukarkan dengan v2. SPEKE

  • Ketika disertakan dalam CPIX permintaan oleh enkripsi, semua elemen dan atribut harus membawa nilai yang valid dalam respons penyedia CPIX kunci. Jika tidak, enkripsi akan berhenti dan melempar kesalahan.

  • SPEKEmendukung rotasi kunci dengan KeyPeriodFilter elemen. SPEKEhanya menggunakan ContentKeyPeriod@index untuk melacak periode kunci.

  • Untuk HLS pensinyalan, beberapa DRMSystem.HLSSignalingData elemen harus digunakan: satu dengan nilai DRMSystem.HLSSignalingData@playlist atribut 'media', dan satu lagi dengan nilai DRMSystem.HLSSignalingData@playlist atribut 'master'.

  • Saat meminta kunci, enkripsi mungkin menggunakan @explicitIV atribut opsional pada elemen. ContentKey Penyedia kunci dapat merespons dengan menggunakan IV@explicitIV, bahkan jika atribut tidak termasuk dalam permintaan.

  • Enkripsi membuat pengenal kunci (KID), yang tetap sama untuk setiap ID konten dan periode kunci tertentu. Penyedia kunci memasukkan KID dalam tanggapannya terhadap dokumen permintaan.

  • Enkripsi harus menyertakan nilai untuk atribut. CPIX@contentId Saat menerima nilai kosong untuk atribut ini, penyedia kunci akan mengembalikan kesalahan dengan deskripsi 'Missing CPIX @ contentId '. CPIX@contentIdnilai tidak dapat diganti oleh penyedia kunci.

    CPIX@idnilai, jika tidak null, akan diabaikan oleh penyedia kunci.

  • Enkripsi harus menyertakan nilai untuk atribut. CPIX@version Saat menerima nilai kosong untuk atribut ini, penyedia kunci akan mengembalikan kesalahan dengan deskripsi 'Missing CPIX @version '. Saat menerima permintaan dengan versi yang tidak didukung, deskripsi kesalahan yang dikembalikan oleh penyedia kunci adalah 'Tidak Didukung CPIX @version '.

    CPIX@versionnilai tidak dapat diganti oleh penyedia kunci.

  • Enkripsi harus menyertakan nilai untuk ContentKey@commonEncryptionScheme atribut untuk setiap kunci yang diminta. Saat menerima nilai kosong untuk atribut ini, penyedia kunci akan mengembalikan kesalahan dengan deskripsi 'Missing ContentKey @ commonEncryptionScheme for KID id '.

    CPIXDokumen unik tidak dapat mencampur beberapa nilai untuk ContentKey@commonEncryptionScheme atribut yang berbeda. Saat menerima kombinasi seperti itu, penyedia kunci akan mengembalikan kesalahan dengan deskripsi 'Non compliant ContentKey @ commonEncryptionScheme combination'.

    Tidak semua ContentKey@commonEncryptionScheme nilai kompatibel dengan semua DRM teknologi. Saat menerima kombinasi seperti itu, penyedia kunci akan mengembalikan kesalahan dengan deskripsi 'ContentKey@ commonEncryptionScheme tidak kompatibel dengan DRMSystemid'.

    ContentKey@commonEncryptionSchemenilai tidak dapat diganti oleh penyedia kunci.

  • Saat menerima nilai yang berbeda untuk DRMSystem@PSSH dan XML <pssh> elemen DRMSystem.ContentProtectionData dalam dalam badan CPIX respons, enkripsi harus berhenti dan melempar kesalahan.

APIuntuk CPIX
  • Penyedia kunci harus menyertakan nilai untuk header X-Speke-User-Agent HTTP respons.

  • Enkripsi SPEKE -compliant bertindak sebagai klien dan mengirimkan POST operasi ke titik akhir penyedia kunci.

  • Enkripsi harus menyertakan nilai untuk header X-Speke-Version HTTP permintaan, dengan SPEKE versi yang digunakan dengan permintaan, dirumuskan sebagai. MajorVersion MinorVersion, seperti '2.0' untuk SPEKE v2.0. Jika penyedia kunci tidak mendukung SPEKE versi yang digunakan oleh enkripsi untuk permintaan saat ini, penyedia kunci akan mengembalikan kesalahan dengan deskripsi SPEKE 'Versi tidak didukung' dan tidak mencoba memproses CPIX dokumen dengan upaya terbaik.

    Nilai X-Speke-Version header yang ditentukan oleh enkripsi tidak dapat dimodifikasi oleh penyedia kunci dalam menanggapi permintaan.

  • Saat menerima kesalahan di badan respons, enkripsi akan melempar kesalahan dan tidak mencoba lagi permintaan dengan versi v1.0. SPEKE

    Jika penyedia kunci tidak mengembalikan kesalahan tetapi gagal mengembalikan CPIX dokumen yang menyertakan informasi wajib, enkripsi harus berhenti dan menimbulkan kesalahan.

Tabel berikut merangkum pesan standar yang harus dikembalikan oleh penyedia kunci di badan pesan. Kode HTTP respons dalam kasus kesalahan harus berupa 4XX atau 5XX, tidak pernah 200. Kode kesalahan 422 dapat digunakan untuk semua kesalahan yang terkait denganSPEKE/CPIX.

Kasus kesalahan Pesan kesalahan

CPIX@ contentId tidak didefinisikan

Hilang CPIX @ contentId

CPIX@version tidak ditentukan

Hilang CPIX @version

CPIX@version tidak didukung

Tidak didukung @version CPIX

ContentKey@ commonEncryptionScheme tidak didefinisikan

Hilang ContentKey @ commonEncryptionScheme for KID id (di mana id sama dengan nilai ContentKey @kid)

Beberapa commonEncryptionScheme nilai ContentKey @ yang digunakan dalam satu CPIX dokumen

Kombinasi ContentKey @ commonEncryptionScheme yang tidak sesuai

ContentKey@ commonEncryptionScheme tidak kompatibel dengan DRM teknologi

ContentKey@ commonEncryptionScheme tidak kompatibel dengan DRMSystem id (di mana id sama dengan systemId nilai DRMSystem @)

Nilai header X-Speke-Version bukan versi yang didukung SPEKE

Versi yang tidak didukung SPEKE

Kontrak enkripsi cacat

Kontrak enkripsi cacat

Kontrak enkripsi bertentangan dengan kendala tingkat DRM keamanan

Kontrak CPIX enkripsi yang diminta tidak didukung

Kontrak enkripsi tidak termasuk AudioFilter elemen VideoFilter atau apa pun

Kontrak CPIX enkripsi tidak ada