Widevine: apa itu, DRM dan tingkat keamanan

Penulis: IT Sectr Diterbitkan: 2026-05-24 Waktu membaca: 8 mnt

Widevine — teknologi DRM yang dikembangkan oleh Google untuk melindungi konten video dari penyalinan tidak sah di perangkat seluler, Smart TV, dan platform web. Enkripsi konten dilakukan melalui modul CDM, yang didukung di 4 miliar perangkat di seluruh dunia. Teknologi Widevine memastikan kompatibilitas dengan Android, iOS, Chrome, dan Smart TV, memungkinkan layanan streaming melindungi konten premium di platform mana pun.

Poin Penting

  • Widevine — solusi DRM dari Google untuk melindungi video di aplikasi seluler dan web.
  • Tiga tingkat keamanan: L1 (enkripsi perangkat keras), L2 (perangkat lunak), L3 (hanya aman di cloud).
  • CDM — Content Decryption Module, komponen kunci untuk mendekripsi konten.
  • Lisensi dikelola melalui server lisensi Google yang mengeluarkan kunci untuk dekoding.
  • Kompatibilitas dengan EME (Encrypted Media Extensions) memungkinkan bekerja di browser apa pun.

Apa itu Widevine?

Widevine — teknologi DRM hak milik yang diakuisisi oleh Google pada tahun 2010 dan menjadi standar de facto untuk perlindungan konten video di ekosistem Android. Ini digunakan oleh layanan streaming terbesar, termasuk Netflix, Amazon Prime Video, Disney+, dan Hulu, untuk mencegah penyalinan dan distribusi konten tidak sah.

Widevine mendukung enkripsi sesuai standar AES-128 CBC menggunakan kunci konten yang hanya dikirim ke perangkat resmi melalui saluran lisensi yang aman. Sistem ini menyediakan perlindungan ujung-ke-ujung dari saat enkripsi di server hingga dekoding di perangkat pengguna.

Sejarah dan perkembangan Widevine

Perusahaan Widevine Technologies didirikan pada tahun 1999 dan awalnya mengembangkan solusi untuk perlindungan konten di platform televisi kabel. Setelah diakuisisi oleh Google pada tahun 2010, teknologi ini diadaptasi untuk platform seluler dan diintegrasikan ke dalam OS Android mulai versi 4.4 KitKat. Sejak 2015, Widevine menjadi komponen wajib sertifikasi Google Mobile Services.

Pada tahun 2018, Google memperkenalkan Widevine Modular DRM, yang memungkinkan produsen perangkat mengimplementasikan tingkat perlindungan yang berbeda secara perangkat keras tanpa mengubah kode OS. Saat ini, Widevine Modular didukung di lebih dari 4 miliar perangkat dan merupakan mekanisme DRM utama di Android.

Arsitektur Widevine

Arsitektur Widevine terdiri dari tiga komponen kunci: Content Decryption Module (CDM), server lisensi, dan alat enkripsi konten. CDM melakukan dekripsi di sisi klien dan berinteraksi dengan Trusted Execution Environment (TEE) perangkat keras untuk penyimpanan kunci yang aman.

Server lisensi Google mengelola penerbitan kunci berdasarkan kebijakan penyedia konten, yang menentukan batasan waktu, jumlah perangkat, dan kualitas pemutaran. Alat enkripsi menyiapkan konten di sisi penyedia, mengemasnya dalam format MPEG-DASH atau HLS dengan enkripsi CENC.

Bagaimana cara kerja Widevine DRM?

Proses perlindungan dimulai dengan tahap pengemasan konten, ketika file media dienkripsi menggunakan kunci konten di server penyedia. Stream terenkripsi dikirim ke perangkat pengguna melalui CDN, di mana CDM meminta lisensi dari server lisensi.

Server lisensi memverifikasi keaslian perangkat dan hak akses ke konten. Jika verifikasi berhasil, server mengeluarkan lisensi dengan kunci yang digunakan CDM untuk dekripsi. Lisensi dapat berisi batasan waktu tontonan dan resolusi.

Protokol pertukaran lisensi

Pertukaran lisensi di Widevine diimplementasikan melalui protokol EME (Encrypted Media Extensions) di browser atau melalui SDK di platform seluler. Permintaan lisensi dibentuk oleh CDM dan dikirim ke server lisensi melalui HTTPS, yang memastikan perlindungan terhadap penyadapan kunci saat transit.

Server memproses permintaan dan mengembalikan lisensi yang juga dienkripsi dan hanya dapat didekripsi oleh CDM perangkat. Pengikatan perangkat keras kunci ke perangkat tertentu mencegah pemindahannya ke platform lain.

Dukungan standar enkripsi

Widevine menggunakan standar Common Encryption (CENC) yang ditentukan dalam ISO/IEC 23001-7, yang memastikan kompatibilitas dengan format MPEG-DASH dan HLS. Enkripsi AES-128 dalam mode CTR atau CBC diterapkan untuk melindungi stream media.

Untuk derivasi kunci digunakan HKDF (HMAC-based Key Derivation Function), yang memungkinkan pembuatan kunci unik untuk setiap segmen konten. Dukungan HLS di Widevine ditambahkan sejak versi Modular 2.0, yang memperluas kompatibilitas dengan platform Apple.

Contoh permintaan lisensi di Android

kotlin
@Throws
fun requestLicense(): ByteArray {
    val drmSessionManager = mediaDrm.createSession(
        sessionId,
        List("keyRequestType", "init")
    )
    val request = mediaDrm.getKeyRequest(
        sessionId,
        schemeData.get("mimeType"),
        KeyType.STREAMING,
        mutableMapOf()
    )
    return licenseService.acquire(request.data)
}

Tingkat keamanan Widevine: L1, L2, L3

Widevine mendefinisikan tiga tingkat keamanan yang berbeda dalam cara pelaksanaan operasi kriptografi dan pemrosesan konten. Tingkat L1 memberikan perlindungan maksimal, L3 — minimal, L2 menempati posisi menengah.

TingkatJenis perlindunganPersyaratan perangkatResolusi maksimal
L1Perangkat kerasTEE di tingkat SoC4K Ultra HD
L2HibridaTEE untuk kunci, perangkat lunak untuk video1080p
L3Perangkat lunakHanya CDM perangkat lunak720p

Tingkat L1 — enkripsi perangkat keras

Tingkat L1 memerlukan keberadaan Trusted Execution Environment (TEE) di tingkat perangkat keras, tempat semua operasi kriptografi dijalankan. Kunci konten tidak pernah meninggalkan TEE, yang mengecualikan ekstraksinya bahkan jika OS utama dikompromikan.

Perangkat dengan sertifikasi L1 dapat memutar konten dalam kualitas 4K dan HDR, karena stream video yang didekripsi dikirim langsung ke output video yang dilindungi tanpa akses dari proses pengguna.

Tingkat L3 — enkripsi perangkat lunak

Tingkat L3 menjalankan semua operasi kriptografi secara perangkat lunak di ruang pengguna biasa. Ini adalah mode yang paling tidak aman, di mana kunci dapat diekstraksi dari RAM perangkat.

Widevine L3 membatasi kualitas pemutaran hingga 720p, membuatnya cocok untuk menonton di perangkat kelas bawah atau browser desktop tanpa perlindungan perangkat keras.

Memeriksa tingkat keamanan di perangkat

kotlin
fun getSecurityLevel(): String {
    val mediaDrm = MediaDrm(UUID.fromString(
        "edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"
    ))
    val level = mediaDrm.getPropertyString(
        "securityLevel"
    )
    return level.ifEmpty { "L3" }
}

Integrasi Widevine dalam aplikasi seluler

Integrasi Widevine dalam aplikasi seluler dilakukan melalui API standar MediaDrm (Android) dan AVContentKeySession (iOS). Dalam kebanyakan kasus, pengembang tidak perlu bekerja langsung dengan DRM — pustaka pemutar seperti ExoPlayer dan AVPlayer menangani lisensi secara otomatis.

Integrasi di Android

Di Android, Widevine diintegrasikan melalui kelas MediaDrm yang menyediakan akses langsung ke CDM. Untuk aplikasi streaming, disarankan menggunakan ExoPlayer dengan modul DrmSessionManager yang secara otomatis mengelola permintaan lisensi.

Saat menginisialisasi pemutar, UUID skema Widevine (`edef8ba9-79d6-4ace-a3c8-27dcd51d21ed`) dan URL server lisensi yang disediakan oleh penyedia konten harus ditentukan. ExoPlayer secara otomatis menangani siklus permintaan dan pembaruan lisensi.

Konfigurasi ExoPlayer untuk Widevine

kotlin
val drmLicenseUrl = "https://license.service.com/wv"
val mediaItem = MediaItem.Builder()
    .setUri(Uri.parse(streamUrl))
    .setDrmKeyRequestUrl(drmLicenseUrl)
    .setDrmKeyRequestHeaders(
        mapOf("Authorization" to token)
    )
    .build()

val exoPlayer = ExoPlayer.Builder(context)
    .build()
exoPlayer.setMediaItem(mediaItem)
exoPlayer.prepare()

Integrasi dengan pemutar web

Di platform web, Widevine bekerja melalui Media Source Extensions (MSE) dan Encrypted Media Extensions (EME). Browser berbasis Chromium mendukung Widevine CDM secara bawaan, dan pengembang cukup menginisialisasi sesi EME dengan konfigurasi yang benar.

Untuk bekerja dengan Widevine di browser, penginisiasi lisensi dengan tipe keySystem `com.widevine.alpha` harus ditentukan. Setelah membuat instance MediaKeys, browser secara otomatis menangani permintaan lisensi.

Penanganan kesalahan lisensi

Saat mengintegrasikan Widevine, penting untuk menangani kesalahan lisensi dengan benar yang terjadi ketika hak akses tidak ada, langganan kedaluwarsa, atau ketidakcocokan perangkat. Kesalahan TYPE_EXPIRED_LICENSE memerlukan pembaruan lisensi melalui permintaan ulang ke server, dan TYPE_OUTPUT_NOT_ALLOWED menunjukkan ketidakcocokan output video dengan kebijakan DRM.

Disarankan untuk mengimplementasikan mekanisme percobaan ulang dengan penundaan eksponensial untuk kesalahan jaringan sementara dan menampilkan pesan yang dapat dipahami kepada pengguna saat penolakan lisensi permanen. Pencatatan kesalahan sesi DRM membantu penyedia konten mengidentifikasi masalah dengan perangkat dan mengoptimalkan kebijakan.

Widevine dan DRM alternatif

Widevine bersaing dengan FairPlay dari Apple dan PlayReady dari Microsoft, membentuk tiga solusi DRM utama di pasar platform seluler. Setiap teknologi memiliki kelebihan dan keterbatasan terkait ekosistem platform.

Perbandingan solusi DRM

KarakteristikWidevineFairPlayPlayReady
PengembangGoogleAppleMicrosoft
Platform utamaAndroid, ChromeiOS, tvOS, SafariWindows, Xbox, UWP
Tingkat maksimalL1 (4K)Setara L1 (4K)SL3000 (4K)
Perlindungan perangkat kerasTEESecure EnclaveTPM + TEE

Memilih DRM untuk proyek

Pemilihan DRM tergantung pada platform target aplikasi. Untuk proyek Android-first, Widevine adalah pilihan alami karena sudah terinstal di semua perangkat bersertifikat dengan Google Mobile Services dan tidak memerlukan biaya lisensi tambahan.

Untuk proyek lintas platform, sering digunakan pendekatan multi-DRM dengan agregator lisensi seperti Axinom, EZDRM, dan Vualto, yang menyediakan API terpadu untuk bekerja dengan ketiga sistem DRM. Ini mengurangi kompleksitas integrasi dan memusatkan manajemen lisensi.

Pertanyaan Umum

Apa itu Widevine DRM?

Widevine — teknologi DRM dari Google, dirancang untuk melindungi konten video digital dari penyalinan tidak sah. Ini digunakan oleh layanan streaming untuk mengenkripsi video dan mengelola akses ke sana melalui sistem lisensi.

Tingkat keamanan Widevine apa yang ada?

Widevine mendukung tiga tingkat keamanan: L1 dengan enkripsi perangkat keras di TEE, L2 dengan pendekatan hibrida, dan L3 dengan implementasi perangkat lunak penuh. L1 memungkinkan pemutaran konten dalam 4K, L3 terbatas pada kualitas 720p.

Bagaimana cara memeriksa tingkat Widevine di Android?

Tingkat Widevine di Android dapat diperiksa melalui kelas MediaDrm dengan meminta properti securityLevel. Untuk ini, instance MediaDrm dengan UUID Widevine dibuat dan getPropertyString dipanggil, atau aplikasi pihak ketiga seperti DRM Info digunakan.

Apa perbedaan Widevine dengan FairPlay?

Widevine dikembangkan oleh Google untuk Android dan Chrome, sedangkan FairPlay untuk iOS, tvOS, dan Safari. Keduanya mendukung enkripsi perangkat keras dan 4K, tetapi Widevine lebih luas di perangkat Android, sementara FairPlay adalah standar de facto di ekosistem Apple.

Apakah perlu lisensi untuk menggunakan Widevine?

Untuk menggunakan Widevine di aplikasi seluler lisensi terpisah tidak diperlukan — teknologi ini tertanam di perangkat Android bersertifikat dan Chrome. Biaya hanya dikenakan kepada penyedia konten untuk penggunaan server lisensi.

Ringkasan

  • Widevine — mekanisme DRM utama di Android, menyediakan perlindungan konten video melalui enkripsi perangkat keras atau perangkat lunak.
  • Tiga tingkat keamanan L1, L2, L3 menentukan kualitas pemutaran maksimal dan tingkat perlindungan kunci.
  • CDM (Content Decryption Module) melakukan dekripsi konten di sisi klien menggunakan kunci lisensi.
  • Integrasi dilakukan melalui ExoPlayer, MediaDrm di Android, dan EME di platform web.
  • Untuk iOS diperlukan FairPlay, yang membuat pendekatan multi-DRM penting untuk proyek lintas platform.
  • Widevine Modular mendukung enkripsi CENC dan kompatibel dengan format MPEG-DASH dan HLS.
  • Server lisensi Google mengelola akses ke konten berdasarkan kebijakan yang ditetapkan oleh penyedia konten.

Kami akan mengembangkan aplikasi seluler turnkey

IT Sectr membuat aplikasi iOS dan Android untuk startup dan bisnis sejak 2017. Kami akan memberi saran dan mengusulkan solusi terbaik.

Diskusikan proyek

Baca juga