FairPlay adalah teknologi DRM proprietary yang dikembangkan oleh Apple untuk melindungi konten video di ekosistem iOS, tvOS dan macOS. Sistem ini menggunakan Secure Enclave dan enkripsi perangkat keras untuk penyimpanan kunci yang aman, memungkinkan layanan streaming menyediakan konten dalam kualitas 4K HDR. Menurut dokumentasi Apple Developer (2025), FairPlay Streaming didukung di semua perangkat Apple dengan chip A8 dan yang lebih baru.
Poin Utama
FairPlay — Adalah teknologi DRM yang dibuat oleh Apple dan diintegrasikan ke dalam sistem operasi iOS, tvOS, iPadOS dan macOS untuk melindungi konten audio dan video dari penggunaan yang tidak sah. Awalnya dikembangkan untuk iTunes dan iPod, teknologi ini berevolusi menjadi sistem perlindungan konten streaming yang lengkap melalui protokol FairPlay Streaming.
Tidak seperti solusi DRM lainnya, FairPlay sepenuhnya terintegrasi ke dalam arsitektur perangkat keras perangkat Apple. Kunci dekripsi disimpan di Secure Enclave — koprosesor yang dilindungi, terisolasi dari OS utama, membuat ekstraksi kunci hampir mustahil bahkan dengan jailbreak.
Sejarah FairPlay dimulai pada tahun 2003 dengan iTunes Store, di mana enkripsi file AAC menggunakan format proprietary M4P diterapkan. Pada tahun 2009, Apple memperkenalkan FairPlay Streaming — protokol perlindungan streaming video berbasis HLS, yang kemudian menjadi wajib untuk Apple TV dan aplikasi iOS.
Mulai dari iOS 10 dan tvOS 10, Apple membuka akses ke FairPlay Streaming untuk pengembang pihak ketiga melalui framework AVFoundation. Saat ini, Netflix, Amazon Prime Video dan Disney+ menggunakan FairPlay untuk melindungi konten di perangkat Apple hingga resolusi 4K HDR dengan Dolby Vision.
Cara kerja FairPlay didasarkan pada proses tiga langkah: pengemasan konten, distribusi melalui CDN dan dekripsi di perangkat. Pada tahap pengemasan, video dienkripsi menggunakan AES-128 atau AES-256, dan kunci enkripsi dikaitkan dengan perangkat tertentu melalui mekanisme Key Envelope.
Saat meminta konten, pemain memulai sesi FairPlay melalui AVContentKeySession, yang mengirimkan permintaan ke server lisensi penyedia konten. Server memeriksa hak akses dan mengembalikan kunci dekripsi, yang dienkripsi dengan kunci publik sertifikat perangkat.
Klien membuat instance AVContentKeySession dan menambahkan track konten ke dalamnya. Sistem membentuk permintaan SPC (Server Playback Context) yang berisi pengidentifikasi perangkat dan sertifikat aplikasi yang ditandatangani oleh Apple. Permintaan ini dikirim ke server lisensi melalui HTTPS.
Server lisensi memvalidasi SPC, mengekstrak kunci konten dari database-nya dan mengenkripsinya dengan kunci publik perangkat, membentuk CKC (Content Key Context). CKC dikembalikan ke klien, di mana AVContentKeySession mendekripsinya menggunakan kunci privat Secure Enclave.
let contentKeySession = AVContentKeySession(keySystem: .fairPlayStreaming)
contentKeySession.setDelegate(self, queue: .main)
let asset = AVURLAsset(url: streamURL)
asset.resourceLoader.setDelegate(self, queue: .main)
contentKeySession.addContentKeyRecipient(asset)
let playerItem = AVPlayerItem(asset: asset)
let player = AVPlayer(playerItem: playerItem)
Arsitektur FairPlay mencakup beberapa komponen yang saling terhubung: sertifikat aplikasi, Key Envelope, Secure Enclave dan modul dekripsi konten. Setiap komponen memiliki perannya masing-masing dalam rantai perlindungan dari server hingga layar pengguna.
| Komponen | Fungsi | Di mana dijalankan |
|---|---|---|
| Sertifikat Aplikasi | Identifikasi aplikasi di server lisensi | Disimpan di bundle aplikasi |
| SPC | Server Playback Context — permintaan lisensi | Dibentuk oleh AVContentKeySession |
| CKC | Content Key Context — respons dengan kunci | Diproses oleh Secure Enclave |
| Secure Enclave | Penyimpanan dan dekripsi kunci di tingkat perangkat keras | Koprosesor perangkat keras SoC |
| Key Envelope | Wadah untuk kunci dengan metadata lisensi | Dibentuk oleh server lisensi |
Untuk bekerja dengan FairPlay, pengembang harus mendapatkan sertifikat FPS dari Apple melalui program Apple Developer. Sertifikat ini mencakup kunci publik dari pasangan asimetris, yang bagian privatnya digunakan oleh Secure Enclave untuk mendekripsi CKC.
Sertifikat aplikasi ditambahkan ke bundle proyek dan secara otomatis ditandatangani saat kompilasi melalui Xcode. Pada pemutaran pertama konten yang dilindungi, sistem memeriksa validitas sertifikat dan meminta lisensi.
Secure Enclave — Adalah koprosesor khusus pada chip seri A dan M Apple, yang berjalan pada OS L4 yang terisolasi. Ia bertanggung jawab untuk pembuatan dan penyimpanan kunci privat, dekripsi CKC dan transfer kunci konten ke modul dekripsi video.
Semua operasi kriptografi dilakukan secara eksklusif di dalam Secure Enclave, dan kunci tidak pernah meninggalkan area yang dilindungi. Serangan saluran samping pada bus data antara Secure Enclave dan prosesor utama diblokir oleh pemantauan integritas perangkat keras.
Integrasi FairPlay ke dalam aplikasi iOS dan tvOS dilakukan melalui AVFoundation dan memerlukan implementasi protokol AVContentKeySessionDelegate dan AVAssetResourceLoaderDelegate. Pengembang perlu menangani empat peristiwa utama: mendapatkan SPC, mengirim ke server, mendapatkan CKC dan meneruskan ke pemain.
func contentKeySession(
_ session: AVContentKeySession,
didProvide keyRequest: AVContentKeyRequest
) {
guard let identifier = keyRequest.identifier
else { return }
let spc: Data = keyRequest.makeStreamingContentKeyRequestData(
appCertificate: certificate,
contentIdentifier: identifier,
options: nil
)
licenseService.requestCKC(spc) { ckc in
keyRequest.processContentKeyResponse(
AVContentKeyResponse(fairPlayStreamingKeyResponseData: ckc)
)
}
}
Sebelum memulai pemutaran, perlu memuat sertifikat aplikasi dari bundle dan menyiapkan pengidentifikasi konten (biasanya URL streaming atau ID film). Sertifikat harus berlaku setidaknya selama masa sewa konten, jika tidak, lisensi akan gagal.
Pengidentifikasi konten diteruskan ke sistem lisensi pada tahap pembentukan SPC. Server lisensi menggunakan pengidentifikasi ini untuk menemukan kunci dan kebijakan pemutaran yang sesuai, termasuk batasan waktu dan perangkat.
Dalam proses lisensi, dapat terjadi kesalahan: sertifikat kedaluwarsa, pengidentifikasi konten salah, tidak ada hak akses pengguna. Kesalahan FairPlay dikembalikan melalui delegate contentKeySession:didFailWithError dan harus ditangani dengan menampilkan UI yang sesuai kepada pengguna.
Kode kesalahan umum termasuk FP_NO_ENTITLEMENT saat tidak ada langganan dan FP_REQUEST_TIMEOUT untuk masalah jaringan. Disarankan untuk mengimplementasikan logika percobaan ulang dengan backoff eksponensial untuk kegagalan jaringan sementara.
FairPlay Streaming adalah protokol perlindungan streaming video berbasis HLS yang menggunakan enkripsi segmen dan mekanisme kunci dengan masa berlaku terbatas. Penyedia konten menyebarkan server lisensi sendiri yang terintegrasi dengan sistem autentikasi pengguna.
Server lisensi menerima dari klien permintaan SPC, mengekstrak pengidentifikasi perangkat dan konten darinya, memeriksa hak pengguna di backend dan membentuk respons CKC. Kunci konten dienkripsi dengan kunci publik perangkat dari sertifikat FPS.
Lisensi FairPlay dapat berisi batasan waktu (sewa 48 jam), jumlah perangkat (maksimal 5 yang diotorisasi) dan kualitas pemutaran (batasan hingga 1080p untuk paket dasar). Kebijakan ditentukan di sisi server dan dikemas dalam Key Envelope.
Penting untuk dicatat bahwa kebijakan FairPlay diterapkan di tingkat Secure Enclave dan tidak dapat dilewati dengan metode perangkat lunak di tingkat OS. Bahkan dengan jailbreak, perlindungan perangkat keras mencegah ekstraksi kunci atau perubahan parameter lisensi.
| Parameter | FairPlay | Widevine | PlayReady |
|---|---|---|---|
| Ekosistem | Apple (iOS, tvOS, macOS) | Google (Android, Chrome) | Microsoft (Windows, Xbox) |
| Kualitas Maksimum | 4K HDR Dolby Vision | 4K UHD | 4K UHD |
| Perlindungan Perangkat Keras | Secure Enclave | TEE | TPM + TEE |
| Persyaratan Pengembang | Sertifikat FPS Apple | Tidak diperlukan | Lisensi Microsoft |
Dukungan FairPlay Streaming tergantung pada versi sistem operasi dan jenis perangkat. Mulai dari iOS 10 dan tvOS 10, API AVContentKeySession tersedia untuk semua aplikasi, tetapi akselerasi perangkat keras melalui Secure Enclave hanya diperlukan untuk konten dalam kualitas 4K HDR. Pada perangkat dengan chip A8–A10, resolusi maksimum yang tersedia adalah 1080p.
Di iOS 14, Apple menambahkan dukungan untuk beberapa sesi FairPlay, memungkinkan aplikasi memutar beberapa streaming yang dilindungi secara bersamaan — misalnya, picture-in-picture dengan lisensi berbeda. iOS 15 memperluas protokol dengan dukungan pembaruan kunci latar belakang untuk penayangan yang lama.
Untuk layanan streaming lintas platform, FairPlay digunakan sebagai bagian dari arsitektur multi-DRM bersama dengan Widevine dan PlayReady. Agregator lisensi, seperti Axinom dan EZDRM, menyediakan API terpadu yang menerjemahkan permintaan ke format SPC untuk FairPlay dan format MediaDrm untuk Widevine, menyederhanakan integrasi di semua platform.
Pertanyaan Umum
FairPlay — Adalah teknologi DRM dari Apple, yang tertanam di iOS, tvOS dan macOS untuk melindungi konten video. Teknologi ini menggunakan enkripsi perangkat keras melalui Secure Enclave dan protokol FairPlay Streaming untuk transfer kunci dekripsi yang aman di perangkat Apple.
Untuk mendapatkan sertifikat FPS, Anda harus mendaftar di program Apple Developer, membuat sertifikat di bagian Certificates, Identifiers & Profiles dan mengunduhnya dalam format DER. Sertifikat ditambahkan ke bundle proyek Xcode dan ditandatangani saat kompilasi.
Tidak, FairPlay tidak tersedia di Android karena ini adalah teknologi proprietary Apple yang terikat pada arsitektur perangkat keras Secure Enclave di chip seri A dan M. Untuk perangkat Android, digunakan Widevine DRM dari Google.
FairPlay adalah nama umum teknologi DRM Apple, sedangkan FairPlay Streaming (FPS) adalah protokol khusus untuk melindungi streaming HLS. FPS menggunakan mekanisme FairPlay untuk enkripsi segmen video dan manajemen lisensi melalui AVContentKeySession.
Lisensi FairPlay dapat menetapkan batasan pada waktu tonton, kualitas video maksimum (720p, 1080p, 4K), jumlah perangkat dan masa berlaku kunci. Semua kebijakan dijalankan di tingkat perangkat keras di Secure Enclave dan tidak dapat dilewati.
Ringkasan
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.
Baca juga