FairPlay — ano ito, DRM ng Apple at mga prinsipyo ng paggana

May-akda: IT Sectr Nai-publish: 2026-05-24 Oras ng pagbabasa: 8 min

Ang FairPlay ay isang proprietary DRM technology na binuo ng Apple para protektahan ang video content sa iOS, tvOS at macOS ecosystem. Gumagamit ang system ng Secure Enclave at hardware encryption para sa ligtas na pag-imbak ng mga susi, na nagpapahintulot sa mga streaming service na magbigay ng content sa kalidad na 4K HDR. Ayon sa dokumentasyon ng Apple Developer (2025), ang FairPlay Streaming ay sinusuportahan sa lahat ng Apple device na may A8 chip at mas bago.

Mga Pangunahing Punto

  • FairPlay — Ang DRM solution ng Apple para protektahan ang video sa iOS, tvOS at macOS app.
  • Secure Enclave ay nagbibigay ng hardware-level na pag-imbak ng decryption keys sa chip.
  • FairPlay Streaming (FPS) — Protocol para protektahan ang HLS streams sa real-time.
  • SCM (Server Certificate Module) — Module para sa pag-verify ng authenticity ng license server.
  • Pagsasama ay nangangailangan ng pagrehistro sa Apple Developer program at pagkuha ng FPS certificate.

Ano ang FairPlay?

FairPlay — Ito ay isang DRM technology na ginawa ng Apple at isinama sa mga operating system na iOS, tvOS, iPadOS at macOS para protektahan ang audio at video content mula sa hindi awtorisadong paggamit. Original na idinisenyo para sa iTunes at iPod, ito ay nag-evolve tungo sa isang kumpletong sistema ng proteksyon ng streaming content sa pamamagitan ng FairPlay Streaming protocol.

Hindi tulad ng ibang DRM solutions, ang FairPlay ay ganap na isinama sa hardware architecture ng mga Apple device. Ang decryption keys ay iniimbak sa Secure Enclave — isang protektadong coprocessor na nakahiwalay mula sa pangunahing OS, na ginagawang halos imposible ang pagkuha ng mga susi kahit na may jailbreak.

Ebolusyon ng FairPlay

Ang kasaysayan ng FairPlay ay nagsimula noong 2003 sa iTunes Store, kung saan ginamit ang encryption ng AAC files gamit ang proprietary M4P format. Noong 2009, inilabas ng Apple ang FairPlay Streaming — isang protocol para sa proteksyon ng video streaming batay sa HLS, na kalaunan ay naging mandatory para sa Apple TV at iOS apps.

Simula sa iOS 10 at tvOS 10, binuksan ng Apple ang access sa FairPlay Streaming para sa third-party developers sa pamamagitan ng AVFoundation framework. Ngayon, ang Netflix, Amazon Prime Video at Disney+ ay gumagamit ng FairPlay para protektahan ang content sa Apple device hanggang sa 4K HDR resolution na may Dolby Vision.

Paano gumagana ang FairPlay DRM?

Ang paggana ng FairPlay ay batay sa tatlong-hakbang na proseso: pag-pack ng content, pamamahagi sa pamamagitan ng CDN at decryption sa device. Sa yugto ng pag-pack, ang video ay naka-encrypt gamit ang AES-128 o AES-256, at ang encryption keys ay iniuugnay sa isang partikular na device sa pamamagitan ng Key Envelope mechanism.

Kapag nag-request ng content, ang player ay nag-i-initiate ng FairPlay session sa pamamagitan ng AVContentKeySession, na nagpapadala ng request sa license server ng content provider. Sinusuri ng server ang access rights at ibinabalik ang decryption key, na naka-encrypt gamit ang public key ng certificate ng device.

Proseso ng Pagkuha ng Lisensya

Ang client ay gumagawa ng AVContentKeySession instance at idinadagdag ang content track. Binubuo ng system ang isang SPC (Server Playback Context) request na naglalaman ng device identifier at application certificate na pinirmahan ng Apple. Ang request na ito ay ipinapadala sa license server sa pamamagitan ng HTTPS.

Bini-validate ng license server ang SPC, kinukuha ang content key mula sa database nito at ini-encrypt ito gamit ang public key ng device, na bumubuo ng CKC (Content Key Context). Ang CKC ay ibinabalik sa client, kung saan ang AVContentKeySession ay nagde-decrypt nito gamit ang private key ng Secure Enclave.

Diagram ng Paggana ng 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)

Mahahalagang Bahagi ng FairPlay

Ang arkitektura ng FairPlay ay binubuo ng ilang magkakaugnay na bahagi: ang application certificate, Key Envelope, Secure Enclave at content decryption module. Ang bawat bahagi ay may sariling papel sa chain ng proteksyon mula sa server hanggang sa screen ng user.

BahagiFunctionSaan isinasagawa
Application CertificatePagkilala ng app sa license serverNaka-imbak sa bundle ng app
SPCServer Playback Context — request ng lisensyaBinubuo ng AVContentKeySession
CKCContent Key Context — tugon na may susiPinoproseso ng Secure Enclave
Secure EnclaveHardware-level na pag-imbak at decryption ng mga susiHardware coprocessor ng SoC
Key EnvelopeContainer para sa susi na may metadata ng lisensyaBinubuo ng license server

FairPlay Application Certificate

Para magtrabaho sa FairPlay, ang developer ay dapat kumuha ng FPS certificate mula sa Apple sa pamamagitan ng Apple Developer program. Ang certificate ay naglalaman ng public key ng isang asymmetric pair, na ang private na bahagi ay ginagamit ng Secure Enclave para i-decrypt ang CKC.

Ang application certificate ay idinadagdag sa bundle ng proyekto at awtomatikong pinipirmahan sa pag-compile sa pamamagitan ng Xcode. Sa unang pag-play ng protektadong content, sinusuri ng system ang validity ng certificate at humihiling ng lisensya.

Secure Enclave at Hardware Protection

Secure Enclave — Ito ay isang dedikadong coprocessor sa A-series at M-series chips ng Apple, na tumatakbo sa isolated L4 OS. Ito ay responsable para sa pagbuo at pag-imbak ng private keys, decryption ng CKC at paglipat ng content key sa video decryption module.

Lahat ng cryptographic operations ay isinasagawa nang eksklusibo sa loob ng Secure Enclave, at ang mga susi ay hindi umaalis sa protektadong lugar. Mga side-channel attacks sa data bus sa pagitan ng Secure Enclave at pangunahing processor ay hinaharangan ng hardware integrity monitoring.

Pagsasama ng FairPlay sa iOS at tvOS

Ang pagsasama ng FairPlay sa iOS at tvOS apps ay ginagawa sa pamamagitan ng AVFoundation at nangangailangan ng implementasyon ng AVContentKeySessionDelegate at AVAssetResourceLoaderDelegate protocols. Kailangang hawakan ng developer ang apat na pangunahing event: pagkuha ng SPC, pagpapadala sa server, pagkuha ng CKC at pagbibigay sa player.

Implementasyon ng AVContentKeySession Delegate

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

Paghahanda ng Certificate at Content Identifier

Bago magsimula ang pag-play, kailangang i-load ang application certificate mula sa bundle at ihanda ang content identifier (karaniwan ay URL ng stream o movie identifier). Ang certificate ay dapat na valid kahit man lang sa tagal ng rental ng content, kung hindi ay mabibigo ang licensing.

Ang content identifier ay ipinapasa sa licensing system sa yugto ng pagbuo ng SPC. Ginagamit ng license server ang identifier na ito para hanapin ang kaukulang key at playback policies, kasama ang mga time at device restrictions.

Pamamahala ng Licensing Errors

Sa proseso ng licensing, maaaring lumitaw ang mga error: pag-expire ng certificate, maling content identifier, kawalan ng access rights ng user. Ang FairPlay errors ay ibinabalik sa pamamagitan ng delegate contentKeySession:didFailWithError at dapat ipakita sa user ang naaangkop na UI.

Kasama sa karaniwang error codes ang FP_NO_ENTITLEMENT kapag walang subscription at FP_REQUEST_TIMEOUT para sa network issues. Inirerekomenda ang pag-implement ng retry logic na may exponential backoff para sa pansamantalang network failures.

FairPlay Streaming at Paglilisensya

Ang FairPlay Streaming ay isang protocol para sa proteksyon ng video streaming batay sa HLS, na gumagamit ng segment encryption at key mechanism na may limitadong panahon. Ang content provider ay nagde-deploy ng sarili nitong license server na integrated sa user authentication system.

Ang license server ay tumatanggap mula sa client ng SPC request, kinukuha mula dito ang device at content identifier, sinusuri ang user rights sa backend at bumubuo ng CKC response. Ang content key ay naka-encrypt gamit ang public key ng device mula sa FPS certificate.

FairPlay Licensing Policies

Ang FairPlay license ay maaaring maglaman ng time restrictions (48-hour rental), bilang ng device (maximum 5 authorized) at playback quality (limitasyon sa 1080p para sa basic plan). Ang mga patakaran ay itinatakda sa server side at nakabalot sa Key Envelope.

Mahalagang tandaan na ang FairPlay policies ay ipinapatupad sa Secure Enclave level at hindi maaaring i-bypass ng software methods sa OS level. Kahit na may jailbreak, pinipigilan ng hardware protection ang pagkuha ng key o pagbabago ng license parameters.

Paghahambing ng FairPlay sa Ibang DRM

ParameterFairPlayWidevinePlayReady
EcosystemApple (iOS, tvOS, macOS)Google (Android, Chrome)Microsoft (Windows, Xbox)
Maximum Quality4K HDR Dolby Vision4K UHD4K UHD
Hardware ProtectionSecure EnclaveTEETPM + TEE
Developer RequirementsApple FPS CertificateHindi kailanganMicrosoft License

Paggana ng FairPlay sa Ibat Ibang Bersyon ng iOS

Ang suporta sa FairPlay Streaming ay depende sa bersyon ng operating system at uri ng device. Simula sa iOS 10 at tvOS 10, ang AVContentKeySession API ay available para sa lahat ng apps, ngunit ang hardware acceleration sa pamamagitan ng Secure Enclave ay kailangan lamang para sa content sa kalidad na 4K HDR. Sa mga device na may A8–A10 chip, ang maximum na resolution ay 1080p.

Sa iOS 14, nagdagdag ang Apple ng suporta para sa maramihang FairPlay session, na nagpapahintulot sa app na mag-play ng maraming protected streams nang sabay — halimbawa, picture-in-picture na may ibat ibang lisensya. Pinalawak ng iOS 15 ang protocol na may suporta sa background key renewal para sa mahabang panonood.

FairPlay sa Multi-DRM Architecture

Para sa cross-platform streaming services, ang FairPlay ay ginagamit bilang bahagi ng multi-DRM architecture kasama ang Widevine at PlayReady. Ang license aggregators, tulad ng Axinom at EZDRM, ay nagbibigay ng unified API na nagta-translate ng mga request sa SPC format para sa FairPlay at MediaDrm format para sa Widevine, na pinapasimple ang integration sa lahat ng platform.

Mga Madalas Itanong

Ano ang FairPlay DRM sa iOS?

FairPlay — Ito ay isang DRM technology ng Apple, na naka-embed sa iOS, tvOS at macOS para protektahan ang video content. Gumagamit ito ng hardware encryption sa pamamagitan ng Secure Enclave at FairPlay Streaming protocol para sa ligtas na paglipat ng decryption keys sa mga Apple device.

Paano kumuha ng FairPlay Streaming certificate?

Para kumuha ng FPS certificate, kailangan mong magrehistro sa Apple Developer program, gumawa ng certificate sa Certificates, Identifiers & Profiles section at i-download ito sa DER format. Ang certificate ay idinadagdag sa Xcode project bundle at pinipirmahan sa pag-compile.

Maaari bang gamitin ang FairPlay sa Android?

Hindi, ang FairPlay ay hindi available sa Android dahil ito ay proprietary technology ng Apple na naka-link sa Secure Enclave hardware architecture sa A-series at M-series chips. Para sa Android device, ginagamit ang Widevine DRM ng Google.

Ano ang pagkakaiba ng FairPlay at FairPlay Streaming?

FairPlay ay ang pangkalahatang pangalan ng DRM technology ng Apple, habang ang FairPlay Streaming (FPS) ay ang partikular na protocol para protektahan ang HLS streams. Ginagamit ng FPS ang FairPlay mechanisms para sa encryption ng video segments at license management sa pamamagitan ng AVContentKeySession.

Anong mga limitasyon ang ipinapataw ng FairPlay license?

Ang FairPlay license ay maaaring magtakda ng mga limitasyon sa oras ng panonood, maximum na kalidad ng video (720p, 1080p, 4K), bilang ng device at validity ng key. Lahat ng patakaran ay isinasagawa sa hardware level sa Secure Enclave at hindi maaaring i-bypass.

Buod

  • FairPlay — Proprietary DRM ng Apple na may hardware protection sa pamamagitan ng Secure Enclave at FairPlay Streaming protocol para sa HLS.
  • SPC at CKC — Pangunahing mensahe ng protocol: license request mula sa client at key response mula sa server.
  • FPS Certificate ay mandatory para sa mga developer at nakukuha sa pamamagitan ng Apple Developer program.
  • Integration ay ginagawa sa pamamagitan ng AVContentKeySession at AVAssetResourceLoaderDelegate sa AVFoundation.
  • Secure Enclave ay nagbibigay ng isolated storage at processing ng mga susi sa hardware level.
  • Mga Limitasyon ng lisensya ay may kasamang time limits, quality at bilang ng device.
  • Multi-DRM approach na may FairPlay, Widevine at PlayReady ay kinakailangan para sa cross-platform streaming apps.

Gagawa kami ng mobile application na turnkey

Gumagawa ang IT Sectr ng mga iOS at Android application para sa mga startup at negosyo mula noong 2017. Magpapayo kami sa iyo at magmumungkahi ng pinakamahusay na solusyon.

Pag-usapan ang proyekto

Basahin din