Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
SPEKE API v1 - Enkripsi kunci konten
Anda dapat secara opsional menambahkan enkripsi kunci konten ke implementasi SPEKE Anda. Enkripsi kunci konten menjamin perlindungan menyeluruh penuh dengan mengenkripsi kunci konten untuk transit, selain mengenkripsi konten itu sendiri. Jika Anda tidak menerapkan ini untuk penyedia kunci Anda, Anda mengandalkan enkripsi lapisan transport ditambah otentikasi yang kuat untuk keamanan.
Untuk menggunakan enkripsi kunci konten untuk enkripsi yang berjalan di AWS Cloud, pelanggan mengimpor sertifikat ke AWS Certificate Manager dan kemudian menggunakan ARN sertifikat yang dihasilkan untuk aktivitas enkripsi mereka. Enkripsi menggunakan ARN sertifikat dan layanan ACM untuk menyediakan kunci konten terenkripsi ke penyedia kunci DRM.
Pembatasan
SPEKE mendukung enkripsi kunci konten seperti yang ditentukan dalam spesifikasi DASH-IF CPIX dengan batasan berikut:
-
SPEKE tidak mendukung verifikasi tanda tangan digital (XMLDSIG) untuk payload permintaan atau respons.
-
SPEKE membutuhkan 2048 RSA-based sertifikat.
Batasan ini juga tercantum dalam Kustomisasi dan batasan untuk DASH-IF spesifikasi.
Menerapkan enkripsi kunci konten
Untuk menyediakan enkripsi kunci konten, sertakan hal-hal berikut dalam implementasi penyedia kunci DRM Anda:
-
Tangani elemen
<cpix:DeliveryDataList>dalam payload permintaan dan respons. -
Berikan nilai terenkripsi dalam payload respons.
<cpix:ContentKeyList>
Untuk informasi selengkapnya tentang elemen-elemen ini, lihat spesifikasi DASH-IF
Contoh Elemen Enkripsi Kunci Kon
<cpix:DeliveryDataList>
ten dalam Payload Permintaan
Contoh berikut menyoroti <cpix:DeliveryDataList> elemen yang ditambahkan dalam huruf tebal:
<?xml version="1.0" encoding="UTF-8"?> <cpix:CPIX id="example-test-doc-encryption" xmlns:cpix="urn:dashif:org:cpix" xmlns:pskc="urn:ietf:params:xml:ns:keyprov:pskc" xmlns:speke="urn:aws:amazon:com:speke"> <cpix:DeliveryDataList> <cpix:DeliveryData id="<ORIGIN SERVER ID>"> <cpix:DeliveryKey> <ds:X509Data> <ds:X509Certificate><X.509 CERTIFICATE, BASE-64 ENCODED></ds:X509Certificate> </ds:X509Data> </cpix:DeliveryKey> </cpix:DeliveryData> </cpix:DeliveryDataList> <cpix:ContentKeyList> ... </cpix:ContentKeyList> </cpix:CPIX>
Contoh Elemen Enkripsi Kunci Kon
<cpix:DeliveryDataList>
ten dalam Payload Respons
Contoh berikut menyoroti <cpix:DeliveryDataList> elemen yang ditambahkan dalam huruf tebal:
<cpix:CPIX xmlns:cpix="urn:dashif:org:cpix" xmlns:enc="http://www.w3.org/2001/04/xmlenc#" xmlns:pskc="urn:ietf:params:xml:ns:keyprov:pskc" xmlns:speke="urn:aws:amazon:com:speke" id="hls_test_001"> <cpix:DeliveryDataList> <cpix:DeliveryData id="<ORIGIN SERVER ID>"> <cpix:DeliveryKey> <ds:X509Data> <ds:X509Certificate><X.509 CERTIFICATE, BASE-64 ENCODED></ds:X509Certificate> </ds:X509Data> </cpix:DeliveryKey> <cpix:DocumentKey Algorithm="http://www.w3.org/2001/04/xmlenc#aes256-cbc"> <cpix:Data> <pskc:Secret> <pskc:EncryptedValue> <enc:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p" /> <enc:CipherData> <enc:CipherValue><RSA CIPHER VALUE></enc:CipherValue> </enc:CipherData> </pskc:EncryptedValue> <pskc:ValueMAC>qnei/5TsfUwDu+8bhsZrLjDRDngvmnUZD2eva7SfXWw=</pskc:ValueMAC> </pskc:Secret> </cpix:Data> </cpix:DocumentKey> <cpix:MACMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#hmac-sha512"> <cpix:Key> <pskc:EncryptedValue> <enc:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p" /> <enc:CipherData> <enc:CipherValue><RSA CIPHER VALUE></enc:CipherValue> </enc:CipherData> </pskc:EncryptedValue> <pskc:ValueMAC>DGqdpHUfFKxdsO9+EWrPjtdTCVfjPLwwtzEcFC/j0xY=</pskc:ValueMAC> </cpix:Key> </cpix:MACMethod> </cpix:DeliveryData> </cpix:DeliveryDataList> <cpix:ContentKeyList> ... </cpix:ContentKeyList> </cpix:CPIX>
Contoh Elemen Enkripsi Kunci Kon
<cpix:ContentKeyList>
ten dalam Payload Respons
Contoh berikut menunjukkan penanganan kunci konten terenkripsi dalam <cpix:ContentKeyList> elemen payload respons. Ini menggunakan <pskc:EncryptedValue> elemen:
<cpix:ContentKeyList> <cpix:ContentKey kid="682681c8-69fa-4434-9f9f-1a7f5389ec02"> <cpix:Data> <pskc:Secret> <pskc:EncryptedValue> <enc:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#aes256-cbc" /> <enc:CipherData> <enc:CipherValue>NJYebfvJ2TdMm3k6v+rLNVYb0NoTJoTLBBdbpe8nmilEfp82SKa7MkqTn2lmQBPB</enc:CipherValue> </enc:CipherData> </pskc:EncryptedValue> <pskc:ValueMAC>t9lW4WCebfS1GP+dh0IicMs+2+jnrAmfDa4WU6VGHc4=</pskc:ValueMAC> </pskc:Secret> </cpix:Data> </cpix:ContentKey> </cpix:ContentKeyList>
Sebagai perbandingan, contoh berikut menunjukkan payload respons serupa dengan kunci konten yang dikirimkan tanpa terenkripsi, sebagai kunci yang jelas. Ini menggunakan <pskc:PlainValue> elemen:
<cpix:ContentKeyList> <cpix:ContentKey explicitIV="OFj2IjCsPJFfMAxmQxLGPw==" kid="682681c8-69fa-4434-9f9f-1a7f5389ec02"> <cpix:Data> <pskc:Secret> <pskc:PlainValue>5dGAgwGuUYu4dHeHtNlxJw==</pskc:PlainValue> </pskc:Secret> </cpix:Data> </cpix:ContentKey> </cpix:ContentKeyList>