FairPlay — apa itu, DRM Apple dan prinsip kerja

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

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 — Solusi DRM Apple untuk melindungi video di aplikasi iOS, tvOS dan macOS.
  • Secure Enclave menyediakan penyimpanan kunci dekripsi di tingkat chip.
  • FairPlay Streaming (FPS) — Protokol untuk melindungi streaming HLS secara real-time.
  • SCM (Server Certificate Module) — Modul verifikasi keaslian server lisensi.
  • Integrasi memerlukan pendaftaran di program Apple Developer dan mendapatkan sertifikat FPS.

Apa itu FairPlay?

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.

Evolusi FairPlay

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.

Bagaimana cara kerja FairPlay DRM?

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.

Proses Mendapatkan Lisensi

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.

Diagram Cara Kerja FairPlay Streaming

swift
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)

Komponen Utama FairPlay

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.

KomponenFungsiDi mana dijalankan
Sertifikat AplikasiIdentifikasi aplikasi di server lisensiDisimpan di bundle aplikasi
SPCServer Playback Context — permintaan lisensiDibentuk oleh AVContentKeySession
CKCContent Key Context — respons dengan kunciDiproses oleh Secure Enclave
Secure EnclavePenyimpanan dan dekripsi kunci di tingkat perangkat kerasKoprosesor perangkat keras SoC
Key EnvelopeWadah untuk kunci dengan metadata lisensiDibentuk oleh server lisensi

Sertifikat Aplikasi FairPlay

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 dan Perlindungan Perangkat Keras

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 di iOS dan tvOS

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.

Implementasi Delegate AVContentKeySession

swift
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)
        )
    }
}

Persiapan Sertifikat dan Pengidentifikasi Konten

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.

Penanganan Kesalahan Lisensi

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 dan Lisensi

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.

Kebijakan Lisensi FairPlay

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.

Perbandingan FairPlay dengan DRM Lain

ParameterFairPlayWidevinePlayReady
EkosistemApple (iOS, tvOS, macOS)Google (Android, Chrome)Microsoft (Windows, Xbox)
Kualitas Maksimum4K HDR Dolby Vision4K UHD4K UHD
Perlindungan Perangkat KerasSecure EnclaveTEETPM + TEE
Persyaratan PengembangSertifikat FPS AppleTidak diperlukanLisensi Microsoft

FairPlay di Berbagai Versi iOS

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.

FairPlay dalam Arsitektur Multi-DRM

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

Apa itu FairPlay DRM di iOS?

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.

Bagaimana cara mendapatkan sertifikat FairPlay Streaming?

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.

Bisakah FairPlay digunakan di Android?

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.

Apa perbedaan antara FairPlay dan FairPlay Streaming?

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.

Batasan apa yang diberlakukan oleh lisensi FairPlay?

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

  • FairPlay — DRM proprietary Apple dengan perlindungan perangkat keras melalui Secure Enclave dan protokol FairPlay Streaming untuk HLS.
  • SPC dan CKC — Pesan protokol utama: permintaan lisensi dari klien dan respons dengan kunci dari server.
  • Sertifikat FPS wajib bagi pengembang dan diperoleh melalui program Apple Developer.
  • Integrasi dilakukan melalui AVContentKeySession dan AVAssetResourceLoaderDelegate di AVFoundation.
  • Secure Enclave menyediakan penyimpanan dan pemrosesan kunci yang terisolasi di tingkat perangkat keras.
  • Batasan lisensi mencakup batas waktu, kualitas dan jumlah perangkat.
  • Pendekatan Multi-DRM dengan FairPlay, Widevine dan PlayReady diperlukan untuk aplikasi streaming lintas platform.

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