FairPlay — mi ez, az Apple DRM-je és a működés elvei

Szerző: IT Sectr Megjelenés: 2026-05-24 Olvasási idő: 8 perc

FairPlay — az Apple által kifejlesztett DRM-technológia a videótartalom védelmére az iOS, tvOS és macOS ökoszisztémában. A rendszer a Secure Enclave-et és hardveres titkosítást használ a kulcsok biztonságos tárolására, ami lehetővé teszi a streaming szolgáltatók számára, hogy a tartalmat 4K HDR minőségben kínálják. Az Apple Developer dokumentációja (2025) szerint a FairPlay Streaming minden olyan Apple-eszközön támogatott, amely A8-as vagy újabb chipet tartalmaz.

A lényeg

  • FairPlay — az Apple DRM-megoldása a videók védelmére iOS, tvOS és macOS alkalmazásokban.
  • Secure Enclave biztosítja a visszafejtési kulcsok hardveres tárolását chip szinten.
  • FairPlay Streaming (FPS) — protokoll a HLS-folyamok valós idejű védelmére.
  • SCM (Server Certificate Module) — a licenckiszolgáló hitelességét ellenőrző modul.
  • Integráció regisztrációt igényel az Apple Developer programban és az FPS-tanúsítvány megszerzését.

Mi az a FairPlay?

FairPlay — DRM-technológia, amelyet az Apple hozott létre, és integrált az iOS, tvOS, iPadOS és macOS operációs rendszerekbe az audio- és videótartalom jogosulatlan használat elleni védelme érdekében. Eredetileg az iTunes és az iPod számára fejlesztették, majd a FairPlay Streaming protokollon keresztül a streaming tartalom védelmére szolgáló teljes értékű rendszerré fejlődött.

Más DRM-megoldásoktól eltérően a FairPlay teljes mértékben be van építve az Apple-eszközök hardveres architektúrájába. A visszafejtési kulcsok a Secure Enclave-ben — a fő operációs rendszertől elszigetelt, védett társprocesszorban — tárolódnak, ami a kulcsok kinyerését gyakorlatilag lehetetlenné teszi még jailbreak esetén is.

A FairPlay evolúciója

A FairPlay története 2003-ban kezdődött az iTunes Store áruházzal, ahol AAC-fájlokat titkosítottak a szabadalmaztatott M4P formátum használatával. 2009-ben az Apple bemutatta a FairPlay Streaminget — a HLS-alapú streaming videó védelmére szolgáló protokollt, amely később kötelezővé vált az Apple TV és az iOS-alkalmazások számára.

Az iOS 10 és tvOS 10 rendszertől kezdve az Apple a AVFoundation keretrendszeren keresztül megnyitotta a FairPlay Streaming elérését a külső fejlesztők számára. Ma a Netflix, az Amazon Prime Video és a Disney+ a FairPlay-t használja a tartalmak védelmére Apple-eszközökön akár 4K HDR és Dolby Vision minőségben.

Hogyan működik a FairPlay DRM?

A FairPlay működése háromfázisú folyamatra épül: a tartalom csomagolása, a CDN-en keresztüli terjesztés és a visszafejtés az eszközön. A csomagolási szakaszban a videót AES-128 vagy AES-256 titkosítással titkosítják, a titkosítási kulcsokat pedig a Key Envelope mechanizmus segítségével egy adott eszközhöz kötik.

A tartalom kérésekor a lejátszó a AVContentKeySession segítségével FairPlay-munkamenetet indít, amely licenckérést küld a tartalomszolgáltató licenckiszolgálójának. A kiszolgáló ellenőrzi a hozzáférési jogokat, és visszaadja a visszafejtési kulcsot, amelyet az eszköz tanúsítványának nyilvános kulcsával titkosítottak.

A licenc megszerzésének folyamata

A kliens létrehoz egy AVContentKeySession példányt, és hozzáadja hozzá a tartalom sávját. A rendszer SPC (Server Playback Context) kérést állít elő, amely az eszköz azonosítóját és az Apple által hitelesített alkalmazástanúsítványt tartalmazza. Ezt a kérést HTTPS-en keresztül küldi el a licenckiszolgálónak.

A licenckiszolgáló érvényesíti az SPC-t, kinyeri a tartalomkulcsot az adatbázisából, és az eszköz nyilvános kulcsával titkosítva CKC-t (Content Key Context) hoz létre. A CKC visszakerül a klienshez, ahol az AVContentKeySession a Secure Enclave magánkulcsának használatával fejti vissza.

A FairPlay Streaming működési sémája

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)

A FairPlay kulcsfontosságú összetevői

A FairPlay architektúrája több, egymással összefüggő összetevőt foglal magában: az alkalmazástanúsítványt, a Key Envelope-et, a Secure Enclave-et és a tartalom-visszafejtő modult. Minden összetevő saját szerepet játszik a védelmi láncban a szervertől a felhasználó képernyőjéig.

ÖsszetevőFunkcióHol fut
AlkalmazástanúsítványAz alkalmazás azonosítása a licenckiszolgáló előttA kötegelben (bundle) tárolva
SPCServer Playback Context — licenckérésAz AVContentKeySession hozza létre
CKCContent Key Context — kulcsot tartalmazó válaszA Secure Enclave dolgozza fel
Secure EnclaveA kulcsok hardveres tárolása és visszafejtéseAz SoC hardveres társprocesszora
Key EnvelopeKulcsot és licenc-metaadatokat tartalmazó konténerA licenckiszolgáló hozza létre

A FairPlay alkalmazástanúsítványa

A FairPlay használatához a fejlesztőnek FPS-tanúsítványt kell szereznie az Apple-től az Apple Developer programon keresztül. A tanúsítvány tartalmazza az aszimmetrikus kulcspár nyilvános kulcsát, amelynek titkos részét a Secure Enclave használja a CKC visszafejtésére.

Az alkalmazástanúsítvány hozzáadódik a projekt kötegeléhez (bundle), és a Xcode az összeállítás során automatikusan aláírja. A védett tartalom első lejátszásakor a rendszer ellenőrzi a tanúsítvány érvényességét, és licencet kér.

Secure Enclave és hardveres védelem

A Secure Enclave az Apple A-sorozatú és M-sorozatú chipjein található dedikált társprocesszor, amely elszigetelt L4 operációs rendszeren fut. Felelős a titkos kulcsok előállításáért és tárolásáért, a CKC visszafejtéséért és a tartalomkulcs átadásáért a videó-visszafejtő modulnak.

Minden kriptográfiai művelet kizárólag a Secure Enclave belsejében történik, és a kulcsok soha nem hagyják el a védett területet. Oldalcsatornás támadásokat a Secure Enclave és a fő processzor közötti adatbusz ellen a hardveres integritásfigyelés blokkolja.

A FairPlay integrálása iOS és tvOS rendszeren

A FairPlay integrálása iOS és tvOS alkalmazásokba az AVFoundation segítségével történik, és az AVContentKeySessionDelegate és az AVAssetResourceLoaderDelegate protokollok megvalósítását igényli. A fejlesztőnek négy kulcsfontosságú eseményt kell kezelnie: az SPC beszerzését, a kiszolgálónak való elküldését, a CKC fogadását és a lejátszónak való átadását.

Az AVContentKeySession delegáltjának megvalósítása

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

A tanúsítvány és a tartalomazonosító előkészítése

A lejátszás megkezdése előtt be kell tölteni az alkalmazástanúsítványt a kötegelből (bundle), és elő kell készíteni a tartalomazonosítót (leggyakrabban a streamek URL-je vagy a film azonosítója). A tanúsítványnak legalább a tartalom kölcsönzési időtartamáig érvényesnek kell lennie, különben a licencelés hibával ér véget.

A tartalomazonosítót a licencelő rendszernek adják át az SPC létrehozásának szakaszában. A licenckiszolgáló ezt az azonosítót használja a megfelelő kulcs és a lejátszási szabályzatok — beleértve az idő- és eszközkorlátozásokat — megkeresésére.

A licencelési hibák kezelése

A licencelés során hibák léphetnek fel: lejárt tanúsítvány, helytelen tartalomazonosító vagy a felhasználó hozzáférési jogainak hiánya. A FairPlay-hibákat a rendszer a contentKeySession:didFailWithError delegátán keresztül adja vissza, és a megfelelő felhasználói felület (UI) megjelenítésével kell kezelni.

A jellemző hibakódok közé tartozik a FP_NO_ENTITLEMENT, ha nincs előfizetés, és az FP_REQUEST_TIMEOUT hálózati problémák esetén. Az átmeneti hálózati hibákhoz ajánlott exponenciális késleltetésű újrapróbálkozási logikát megvalósítani.

FairPlay Streaming és licencelés

A FairPlay Streaming a HLS-alapú streaming videó védelmére szolgáló protokoll, amely szegmenstitkosítást és korlátozott élettartamú kulcsmechanizmust használ. A tartalomszolgáltató saját licenckiszolgálót telepít, amely integrálódik a felhasználói hitelesítő rendszerrel.

A licenckiszolgáló SPC-kérést kap a klienstől, kinyeri belőle az eszköz és a tartalom azonosítóját, ellenőrzi a felhasználó jogait a háttérrendszerben, és CKC-választ hoz létre. A tartalomkulcsot az FPS-tanúsítványból származó eszköz nyilvános kulcsával titkosítják.

A FairPlay licencelési szabályzatai

A FairPlay-licenc időbeli korlátozásokat (48 órás kölcsönzés), az eszközök számát (legfeljebb 5 hitelesített eszköz) és a lejátszási minőséget (alap tarifánál 1080p-re korlátozás) tartalmazhat. A szabályzatokat a kiszolgáló oldalán állítják be, és a Key Envelope-be csomagolják.

Fontos megjegyezni, hogy a FairPlay-szabályzatokat a Secure Enclave szintjén alkalmazzák, és az operációs rendszer szintjén szoftveres módszerekkel nem megkerülhetők. Még jailbreak esetén is a hardveres védelem megakadályozza a kulcs kinyerését vagy a licenc paramétereinek módosítását.

A FairPlay összehasonlítása más DRM-megoldásokkal

ParaméterFairPlayWidevinePlayReady
ÖkoszisztémaApple (iOS, tvOS, macOS)Google (Android, Chrome)Microsoft (Windows, Xbox)
Maximális minőség4K HDR Dolby Vision4K UHD4K UHD
Hardveres védelemSecure EnclaveTEETPM + TEE
Fejlesztői követelményekApple FPS-tanúsítványNem szükségesMicrosoft-licenc

A FairPlay működésének sajátosságai a különböző iOS-verziókon

A FairPlay Streaming támogatása az operációs rendszer verziójától és az eszköz típusától függ. Az iOS 10 és tvOS 10 rendszertől kezdve az AVContentKeySession API minden alkalmazás számára elérhető, de a Secure Enclave-en keresztüli hardveres gyorsítás csak a 4K HDR minőségű tartalomhoz szükséges. Az A8–A10 chippel rendelkező eszközökön csak a maximális 1080p felbontás érhető el.

Az iOS 14-ben az Apple hozzáadta a több FairPlay-munkamenet támogatását, ami lehetővé teszi, hogy az alkalmazás egyszerre több védett streamben játsszon — például kép a képben módban, eltérő licencekkel. Az iOS 15 kiterjesztette a protokollt a kulcsok háttérben történő frissítésének támogatásával a hosszú távú nézéshez.

FairPlay a multi-DRM architektúrában

A platformfüggetlen streaming szolgáltatások esetében a FairPlay a multi-DRM architektúra részeként működik a Widevine és a PlayReady mellett. Licencaggregátorok, például az Axinom és az EZDRM, egységes API-t biztosítanak, amely a kéréseket a FairPlay SPC-formátumába, illetve a Widevine MediaDrm formátumába alakítja, leegyszerűsítve az integrációt minden platformon.

Gyakran ismételt kérdések

Mi az a FairPlay DRM iOS rendszeren?

FairPlay — az Apple DRM-technológiája, amely be van építve az iOS, tvOS és macOS rendszerbe a videótartalom védelmére. Hardveres titkosítást használ a Secure Enclave-en keresztül, valamint a FairPlay Streaming protokollt a visszafejtési kulcsok biztonságos átvitelére Apple-eszközökön.

Hogyan szerezhetek FairPlay Streaming tanúsítványt?

Az FPS-tanúsítvány megszerzéséhez regisztrálni kell az Apple Developer programban, létre kell hozni a tanúsítványt a Certificates, Identifiers & Profiles szakaszban, és DER formátumban kell letölteni. A tanúsítványt hozzáadják az Xcode-projekt kötegeléhez (bundle), és az összeállításkor aláírják.

Használható-e a FairPlay Androidon?

Nem, a FairPlay nem elérhető Androidon, mivel ez az Apple szabadalmaztatott technológiája, amely az A- és M-sorozatú chipek Secure Enclave hardveres architektúrájához kötött. Android-eszközökön a Google Widevine DRM-jét használják.

Miben különbözik a FairPlay a FairPlay Streamingtől?

A FairPlay az Apple DRM-technológiájának általános elnevezése, míg a FairPlay Streaming (FPS) a HLS-folyamok védelmére szolgáló konkrét protokoll. Az FPS a FairPlay mechanizmusait használja a videószegmensek titkosítására és a licencek kezelésére az AVContentKeySession segítségével.

Milyen korlátozásokat ír elő a FairPlay-licenc?

A FairPlay-licenc korlátozásokat szabhat meg a nézési idő, a maximális videóminőség (720p, 1080p, 4K), az eszközök száma és a kulcs érvényességi ideje tekintetében. Minden szabályzat hardveresen, a Secure Enclave-ben fut, és nem megkerülhető.

Összegzés

  • FairPlay — az Apple szabadalmaztatott DRM-je hardveres védelemmel a Secure Enclave-en keresztül és a FairPlay Streaming protokollal a HLS-hez.
  • SPC és CKC — a protokoll kulcsfontosságú üzenetei: a kliens licenckérése és a kiszolgáló kulcsot tartalmazó válasza.
  • FPS-tanúsítvány kötelező a fejlesztők számára, és az Apple Developer programon keresztül szerezhető meg.
  • Integráció az AVContentKeySession és az AVAssetResourceLoaderDelegate segítségével történik az AVFoundationban.
  • Secure Enclave elszigetelt tárolást és kulcskezelést biztosít hardveres szinten.
  • A licenc korlátozásai közé tartoznak az időbeli keretek, a minőség és az eszközök száma.
  • Multi-DRM-megközelítés a FairPlay, Widevine és PlayReady kombinációjával szükséges a platformfüggetlen streaming alkalmazásokhoz.

Kulcsrakész mobilalkalmazást fejlesztünk

Az IT Sectr 2017 óta készít iOS és Android alkalmazásokat induló vállalkozásoknak és vállalkozásoknak. Tanácsot adunk, és a legjobb megoldást javasoljuk.

Projekt megbeszélése

Olvassa el is