Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Dalam penggunaan umum, Microsoft PlayReady melindungi konten dengan menyediakan lisensi untuk file media. Tidak perlu menyembunyikan file, membuatnya tidak dapat diakses, atau menempatkan perlindungan khusus ketika file ditransmisikan dari sistem ke sistem. Dengan kata lain, tidak ada persyaratan sistem operasi atau mekanisme transportasi file keamanan tinggi yang diperlukan. Namun, menyalin file dan memberikannya kepada teman tidak akan memungkinkan teman tersebut untuk menggunakan file jika dilindungi oleh PlayReady. Untuk menggunakan file media, pengguna memerlukan lisensi. Lisensi ini adalah sarana utama untuk menjalankan kontrol atas konten (file media). Lisensi diberikan kepada satu klien (seperti pemutar media) atau domain. Lisensi tidak akan berfungsi pada klien lain atau domain lain.
Setiap lisensi berisi hak dan batasan, menentukan dengan tepat bagaimana konten dapat digunakan dan dalam kondisi apa. Misalnya, lisensi file musik dapat mengaktifkan "hak untuk memutar" tetapi membatasi tingkat keamanan aplikasi tempat konten dapat diputar. Lisensi mungkin berlaku untuk periode antara 1 Oktober 2017 dan 1 November 2017. Mungkin ada beberapa lisensi untuk satu file. Pengguna akan dapat mengakses dan menggunakan kontennya selama salah satu lisensi memberikan hak yang sesuai dan pembatasan tidak mencegah akses.
Gambaran Umum Layanan Video End-to-End
Ilustrasi berikut berisi gambaran umum pada layanan video end-to-end, termasuk sisi backend layanan di sebelah kiri dan klien di sebelah kanan.
Di sisi kiri ilustrasi, Anda dapat melihat layanan memiliki beberapa Server untuk melakukan streaming video (jaringan distribusi konten). Ada juga beberapa Server yang memungkinkan pengguna menelusuri konten dan memilih konten yang ingin mereka putar (antarmuka pengguna). Selain itu, ada beberapa Server yang memungkinkan pengguna untuk masuk dan diautentikasi, serta membayar konten (mengautentikasi, membayar). Selain itu, ada juga Server Lisensi PlayReady.
Di sisi kanan ilustrasi adalah klien. Klien bisa menjadi aplikasi Windows, aplikasi smartphone, atau perangkat tertentu seperti set top box, penerima jaringan, dan sebagainya. Beberapa klien ini mungkin datang dengan klien terintegrasi PlayReady di pemain mereka, misalnya, OEM mungkin telah mengintegrasikan PlayReady dalam sistem operasi atau di perangkat keras. Yang lain bisa datang dengan klien yang terintegrasi dalam aplikasi yang diterbitkan di app store. Ada banyak opsi berbeda bagi pemain untuk mengintegrasikan PlayReady di sisi klien.
Topik ini akan berfokus pada apa yang dilakukan PlayReady untuk layanan, seperti yang ditunjukkan pada gambar berikut.
Apa yang disediakan PlayReady adalah cara bagi klien untuk meminta lisensi dari Server, yang kemudian mengirimkan kunci yang melindungi konten dalam formulir yang dilindungi melalui jaringan terbuka. Hal kedua yang dilakukan PlayReady adalah memberikan hak dan batasan yang tepat kepada klien. Dengan PlayReady, layanan ini memiliki kemampuan untuk menyediakan kunci untuk pemutaran konten tetapi, misalnya, hanya memungkinkan klien untuk menggunakan kunci tersebut selama dua hari dalam skenario penyewaan. Jadi, PlayReady menyediakan cara untuk mendeklarasikan hak dan pembatasan hak dengan kunci.
PlayReady juga menyediakan cara untuk menyimpan kunci konten dengan lebih aman di sisi klien sehingga klien akan dapat menggunakan kunci klien tersebut untuk mendekripsi konten untuk penyajian, tetapi tidak mengizinkan penyimpanan konten dalam yang jelas dan membagikannya dengan pengguna lain.
Untuk memastikan bahwa Klien PlayReady berperilaku dengan cara yang benar, PlayReady memerlukan implementasi perangkat keras dan perangkat lunak untuk mengikuti Aturan Kepatuhan dan Ketahanan. Aturan ini mengatur bagaimana klien harus berperilaku ketika mendekripsi atau memproses konten PlayReady. Mereka juga mengharuskan klien memproses pembatasan yang ditemukan dalam lisensi dengan benar. Jadi, jika klien menerima instruksi untuk menggunakan kunci konten selama tidak lebih dari 48 jam, klien harus mengikuti instruksi tersebut. Aturan ini disediakan oleh Microsoft dalam Aturan Kepatuhan dan Ketahanan, dan terserah pengembang klien untuk menegakkan aturan tersebut di klien mereka.
Proses enkripsi dan lisensi dasar
Langkah-langkah berikut mengilustrasikan proses enkripsi dan lisensi end-to-end untuk konten dan bagaimana PlayReady terlibat dalam proses.
Gambar berikut berisi satu aset - file audio/video - yang belum dienkripsi. Metode yang digunakan untuk mengenkripsi konten sepenuhnya terserah penyedia konten dan tidak disediakan sebagai bagian dari PlayReady.
Untuk mengenkripsi file ini, layanan perlu menggunakan generator kunci di enkripsi konten mereka yang menghasilkan kunci konten baru yang akan digunakan untuk mengenkripsi konten. Kunci konten ini nantinya akan dikirimkan dari Server Lisensi PlayReady ke klien untuk mengizinkan dekripsi konten dan penyajian untuk pengguna. Seiring dengan kunci konten, yang merupakan nilai privat, layanan enkripsi juga mengaitkan pengidentifikasi kunci (KeyID) - yang merupakan GUID - dengan kunci konten. KeyID adalah nilai publik.
Kunci dan KeyID dirancang pada waktu enkripsi, dan disimpan dalam sistem manajemen kunci, yang biasanya semacam database. PlayReady tidak menyediakan sistem manajemen kunci, sehingga terserah layanan atau mitra yang membangun layanan dengan penyiar untuk menyediakan sistem manajemen kunci.
Selain menyimpan kunci dan KeyID dalam sistem manajemen kunci, Anda juga harus memasukkan KeyID ke packager, yang kemudian menghasilkan header. Header ini diformat oleh layanan atau mitra sesuai dengan Spesifikasi Header PlayReady, lalu dipasang secara terbuka di header file konten.
Pada titik ini, audio dan video akan dienkripsi menggunakan KeyID, dan Anda akan memiliki file konten terenkripsi yang siap dikirimkan ke klien.
Sekarang, klien dapat mulai mengkonsumsi konten. Hal pertama yang mungkin akan dilakukan klien adalah mengautentikasi pengguna ke layanan, biasanya dengan memberikan nama login dan kata sandi, tetapi mekanisme lain untuk mengautentikasi pengguna dan perangkat baik-baik saja. Biasanya, token sesi dikembalikan ke klien setelah pengguna diverifikasi. Perhatikan bahwa mekanisme apa pun yang digunakan untuk autentikasi pengguna, sepenuhnya terserah layanan bagaimana pengguna diautentikasi; PlayReady tidak menyediakan teknologi ini.
Selanjutnya, konten dikirimkan ke klien (misalnya, klien telah mulai mengunduh bagian dari aliran data yang membentuk konten). Klien kemudian mulai mengurai konten ini dan menemukan bahwa konten tersebut dienkripsi dan menggunakan kunci yang tidak diketahui, tetapi berisi KeyID.
Pada saat itu, klien akan mengirim permintaan akuisisi lisensi ke Server Lisensi.
Server Lisensi kemudian berinteraksi dengan layanan autentikasi untuk memverifikasi pengguna. Biasanya hal pertama yang dilakukan Server Lisensi adalah memverifikasi bahwa klien/pengguna memiliki hak untuk lisensi tertentu tersebut. Dan sekali lagi, PlayReady tidak menyediakan tata letak itu (autentikasi), kami hanya menyediakan Server Lisensi. Layanan autentikasi kemudian biasanya akan merespons dengan ya atau tidak, atau mungkin ya dengan batasan (misalnya, pengguna ini memiliki hak untuk film khusus ini, tetapi hanya pada kualitas video yang lebih rendah karena pengguna tidak memiliki tingkat langganan berkualitas tertinggi - berdasarkan jumlah yang dibayar pengguna per bulan).
Kemudian, Server Lisensi meminta nilai kunci, berdasarkan KeyID, dari sistem manajemen kunci yang menyimpan kunci, dan sistem manajemen kunci merespons permintaan tersebut. Hanya untuk menegaskan kembali, PlayReady tidak menyediakan komponen sistem manajemen kunci, sehingga akan ada permintaan yang berasal dari Server Lisensi PlayReady ke komponen apa pun yang telah dibangun layanan untuk menyimpan kunci.
Kunci diterima oleh Server Lisensi dan Server Lisensi dapat mengirimkan lisensi. Respons lisensi PlayReady yang dilindungi mencakup nilai kunci dan daftar hak serta pembatasan hak untuk diberlakukan oleh klien.
Meskipun demonstrasi ini menunjukkan Server Lisensi PlayReady hanya memberikan satu kunci, ada kemungkinan bahwa Server Lisensi akan memberikan tumpukan lisensi dalam satu respons lisensi. Beberapa lisensi dapat disertakan dalam satu transaksi, dengan setiap lisensi menyediakan satu kunci jika konten dilindungi dengan beberapa kunci atau jika layanan ingin mengirimkan beberapa kunci terlebih dahulu karena, misalnya, layanan tahu bahwa pengguna akan mendengarkan delapan trek secara berturut-turut.
Bagian lain dari teknologi yang disediakan PlayReady adalah cara untuk menyimpan kunci dan hak di klien, yang disebut Penyimpanan Lisensi.
Penyimpanan Lisensi biasanya disebut HDS karena struktur Penyimpanan Lisensi adalah penyimpanan data yang di-hash. Mungkin ada beberapa jenis Penyimpanan Lisensi pada perangkat — satu aplikasi dapat berisi HDS sendiri hanya untuk memastikan bahwa HDS satu perusahaan tidak berada dalam file yang sama dengan HDS perusahaan lain. Sepenuhnya terserah pengembang klien untuk membuat pilihan desain ini. Misalnya, menggunakan PlayReady di Windows, Microsoft memilih untuk memiliki satu HDS untuk Internet Explorer dan satu lagi untuk Microsoft Edge per situs, serta satu untuk setiap Aplikasi Universal Windows.
HDS dapat disimpan dengan cara yang persisten, seperti pada hard drive atau memori persisten perangkat, atau dapat disimpan dengan cara yang tidak persisten, seperti dalam memori yang tidak persisten. Oleh karena itu, ketika Server Lisensi mengeluarkan lisensi, itu dapat mengatur properti lisensi yang menunjukkan bahwa lisensi tidak boleh disimpan di hard drive klien, atau dalam kasus set top box atau telepon, bahwa itu tidak boleh disimpan dalam memori persisten karena Anda tidak ingin lisensi Anda disimpan dalam memori persisten sebagai bagian dari layanan. Dalam hal ini, cukup simpan HDS dalam memori dalam konteks aplikasi pemutar, sehingga segera setelah pengguna menutup aplikasi pemutar, lisensi dan haknya akan lenyap.