FairPlay — wat is het, DRM van Apple en werkingsprincipes

Auteur: IT Sectr Gepubliceerd: 2026-05-24 Leestijd: 8 min

FairPlay is een propriëtaire DRM-technologie ontwikkeld door Apple voor de bescherming van video-inhoud in het iOS-, tvOS- en macOS-ecosysteem. Het systeem gebruikt Secure Enclave en hardwarematige encryptie voor veilige opslag van sleutels, waardoor streamingdiensten inhoud kunnen leveren in 4K HDR-kwaliteit. Volgens de Apple Developer-documentatie (2025) wordt FairPlay Streaming ondersteund op alle Apple-apparaten met een A8-chip en nieuwer.

Belangrijkste punten

  • FairPlay — Apple's DRM-oplossing voor videobescherming in iOS-, tvOS- en macOS-apps.
  • Secure Enclave biedt hardwarematige opslag van decoderingssleutels op chipniveau.
  • FairPlay Streaming (FPS) — Protocol voor real-time bescherming van HLS-streams.
  • SCM (Server Certificate Module) — Module voor authenticatie van de licentieserver.
  • Integratie vereist registratie in het Apple Developer-programma en verkrijging van een FPS-certificaat.

Wat is FairPlay?

FairPlay — is een DRM-technologie gemaakt door Apple en geïntegreerd in de besturingssystemen iOS, tvOS, iPadOS en macOS om audio- en video-inhoud te beschermen tegen ongeautoriseerd gebruik. Oorspronkelijk ontwikkeld voor iTunes en iPod, is het geëvolueerd tot een volledig systeem voor streaming contentbescherming via het FairPlay Streaming-protocol.

In tegenstelling tot andere DRM-oplossingen is FairPlay volledig geïntegreerd in de hardware-architectuur van Apple-apparaten. Decoderingssleutels worden opgeslagen in Secure Enclave — een beveiligde coprocessor die geïsoleerd is van het hoofd-OS, waardoor het extraheren van sleutels vrijwel onmogelijk is, zelfs met een jailbreak.

Evolutie van FairPlay

De geschiedenis van FairPlay begon in 2003 met de iTunes Store, waar encryptie van AAC-bestanden met het propriëtaire M4P-formaat werd toegepast. In 2009 introduceerde Apple FairPlay Streaming — een protocol voor videostreamingbescherming op basis van HLS, dat later verplicht werd voor Apple TV en iOS-apps.

Vanaf iOS 10 en tvOS 10 opende Apple de toegang tot FairPlay Streaming voor externe ontwikkelaars via het AVFoundation-framework. Tegenwoordig gebruiken Netflix, Amazon Prime Video en Disney+ FairPlay voor contentbescherming op Apple-apparaten tot 4K HDR-resolutie met Dolby Vision.

Hoe werkt FairPlay DRM?

De werking van FairPlay is gebaseerd op een driefasenproces: verpakking van content, distributie via CDN en decodering op het apparaat. In de verpakkingsfase wordt video versleuteld met AES-128 of AES-256, en worden versleutelingssleutels gekoppeld aan een specifiek apparaat via het Key Envelope-mechanisme.

Bij het aanvragen van content initieert de speler een FairPlay-sessie via AVContentKeySession, die een verzoek naar de licentieserver van de contentprovider stuurt. De server controleert de toegangsrechten en retourneert de decoderingssleutel, versleuteld met de openbare sleutel van het apparaatcertificaat.

Licentieverkrijgingsproces

De client maakt een AVContentKeySession-instantie aan en voegt de contenttrack toe. Het systeem vormt een SPC-verzoek (Server Playback Context) dat de apparaatidentificatie en het door Apple ondertekende applicatiecertificaat bevat. Dit verzoek wordt via HTTPS naar de licentieserver gestuurd.

De licentieserver valideert de SPC, haalt de contentsleutel uit zijn database en versleutelt deze met de openbare sleutel van het apparaat, waarmee een CKC (Content Key Context) wordt gevormd. De CKC wordt teruggegeven aan de client, waar AVContentKeySession deze decodeert met de privésleutel van de Secure Enclave.

Schema van 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)

Belangrijkste componenten van FairPlay

De architectuur van FairPlay omvat verschillende onderling verbonden componenten: het applicatiecertificaat, Key Envelope, Secure Enclave en de contentdecoderingmodule. Elk onderdeel speelt zijn rol in de beveiligingsketen van server tot aan het scherm van de gebruiker.

ComponentFunctieWaar uitgevoerd
ApplicatiecertificaatIdentificatie van de app bij de licentieserverOpgeslagen in de app-bundle
SPCServer Playback Context — licentieverzoekGevormd door AVContentKeySession
CKCContent Key Context — antwoord met sleutelVerwerkt door Secure Enclave
Secure EnclaveHardwarematige opslag en decodering van sleutelsHardware-coprocessor van SoC
Key EnvelopeContainer voor sleutel met licentiemetadataGevormd door licentieserver

FairPlay Applicatiecertificaat

Om met FairPlay te werken moet de ontwikkelaar een FPS-certificaat van Apple verkrijgen via het Apple Developer-programma. Het certificaat bevat de openbare sleutel van een asymmetrisch paar, waarvan het privégedeelte door Secure Enclave wordt gebruikt om CKC te decoderen.

Het applicatiecertificaat wordt toegevoegd aan de projectbundel en automatisch ondertekend tijdens compilatie via Xcode. Bij de eerste weergave van beveiligde inhoud controleert het systeem de geldigheid van het certificaat en vraagt een licentie aan.

Secure Enclave en hardwarebeveiliging

Secure Enclave — is een speciale coprocessor op Apple A-serie en M-serie chips, die draait op een geïsoleerd L4-besturingssysteem. Het is verantwoordelijk voor het genereren en opslaan van privésleutels, decodering van CKC en overdracht van de contentsleutel naar de videodecoderingsmodule.

Alle cryptografische bewerkingen worden uitsluitend binnen de Secure Enclave uitgevoerd en sleutels verlaten nooit het beveiligde gebied. Zijkanalaanvallen op de databus tussen Secure Enclave en de hoofdprocessor worden geblokkeerd door hardwarematige integriteitsbewaking.

Integratie van FairPlay in iOS en tvOS

Integratie van FairPlay in iOS- en tvOS-apps gebeurt via AVFoundation en vereist implementatie van de protocollen AVContentKeySessionDelegate en AVAssetResourceLoaderDelegate. De ontwikkelaar moet vier belangrijke gebeurtenissen afhandelen: verkrijgen van SPC, verzenden naar server, ontvangen van CKC en doorgeven aan de speler.

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

Voorbereiding van certificaat en contentidentificatie

Voordat het afspelen begint, moet het applicatiecertificaat uit de bundel worden geladen en de contentidentificatie (meestal de stream-URL of film-ID) worden voorbereid. Het certificaat moet geldig zijn gedurende ten minste de huurperiode van de content, anders mislukt de licentiëring.

De contentidentificatie wordt doorgegeven aan het licentiesysteem tijdens de vorming van SPC. De licentieserver gebruikt deze identificatie om de bijbehorende sleutel en afspeelbeleidsregels te vinden, inclusief tijds- en apparaatbeperkingen.

Afhandeling van licentieproblemen

Tijdens het licentiëringsproces kunnen fouten optreden: verlopen certificaat, onjuiste contentidentificatie, ontbrekende toegangsrechten van de gebruiker. FairPlay-fouten worden geretourneerd via de delegate contentKeySession:didFailWithError en moeten worden afgehandeld met passende UI-meldingen aan de gebruiker.

Standaard foutcodes zijn onder andere FP_NO_ENTITLEMENT bij ontbrekend abonnement en FP_REQUEST_TIMEOUT bij netwerkproblemen. Het wordt aanbevolen om logica voor herhaalde pogingen met exponentiële vertraging te implementeren voor tijdelijke netwerkstoringen.

FairPlay Streaming en licentiëring

FairPlay Streaming is een protocol voor bescherming van videostreaming op basis van HLS, dat segmentencryptie en een sleutelmechanisme met beperkte geldigheidsduur gebruikt. De contentprovider implementeert een eigen licentieserver die is geïntegreerd met het gebruikersauthenticatiesysteem.

De licentieserver ontvangt van de client een SPC-verzoek, haalt daaruit de apparaat- en contentidentificatie, controleert de gebruikersrechten in de backend en vormt een CKC-antwoord. De contentsleutel wordt versleuteld met de openbare sleutel van het apparaat uit het FPS-certificaat.

FairPlay-licentiebeleid

Een FairPlay-licentie kan tijdsbeperkingen (48-uurs huur), aantal apparaten (maximaal 5 geautoriseerd) en afspeelkwaliteit (beperking tot 1080p voor basisabonnement) bevatten. Het beleid wordt aan de serverzijde ingesteld en verpakt in Key Envelope.

Het is belangrijk op te merken dat FairPlay-beleid op Secure Enclave-niveau wordt toegepast en niet kan worden omzeild met softwarematige methoden op OS-niveau. Zelfs met een jailbreak voorkomt hardwarebeveiliging het extraheren van de sleutel of het wijzigen van licentieparameters.

Vergelijking van FairPlay met andere DRM

ParameterFairPlayWidevinePlayReady
EcosysteemApple (iOS, tvOS, macOS)Google (Android, Chrome)Microsoft (Windows, Xbox)
Maximale kwaliteit4K HDR Dolby Vision4K UHD4K UHD
HardwarebeveiligingSecure EnclaveTEETPM + TEE
Vereisten voor ontwikkelaarApple FPS-certificaatNiet vereistMicrosoft-licentie

FairPlay op verschillende iOS-versies

Ondersteuning voor FairPlay Streaming is afhankelijk van de versie van het besturingssysteem en het apparaattype. Vanaf iOS 10 en tvOS 10 is de AVContentKeySession API beschikbaar voor alle apps, maar hardwareversnelling via Secure Enclave is alleen vereist voor content in 4K HDR-kwaliteit. Op apparaten met A8–A10-chips is de maximale resolutie 1080p.

In iOS 14 voegde Apple ondersteuning voor meerdere FairPlay-sessies toe, waardoor een app meerdere beveiligde streams tegelijk kan afspelen — bijvoorbeeld picture-in-picture met verschillende licenties. iOS 15 breidde het protocol uit met ondersteuning voor achtergrondvernieuwing van sleutels voor langdurig kijken.

FairPlay in multi-DRM-architectuur

Voor cross-platform streamingdiensten wordt FairPlay gebruikt als onderdeel van een multi-DRM-architectuur samen met Widevine en PlayReady. Licentie-aggregators, zoals Axinom en EZDRM, bieden een uniforme API die verzoeken vertaalt naar SPC-formaat voor FairPlay en MediaDrm-formaat voor Widevine, waardoor integratie op alle platforms wordt vereenvoudigd.

Veelgestelde vragen

Wat is FairPlay DRM op iOS?

FairPlay — is een DRM-technologie van Apple, ingebouwd in iOS, tvOS en macOS voor de bescherming van video-inhoud. Het gebruikt hardwarematige encryptie via Secure Enclave en het FairPlay Streaming-protocol voor veilige overdracht van decoderingssleutels op Apple-apparaten.

Hoe verkrijg ik een FairPlay Streaming-certificaat?

Om een FPS-certificaat te verkrijgen, moet u zich registreren in het Apple Developer-programma, een certificaat aanmaken in de sectie Certificates, Identifiers & Profiles en dit downloaden in DER-formaat. Het certificaat wordt toegevoegd aan de Xcode-projectbundel en ondertekend tijdens compilatie.

Kan FairPlay op Android worden gebruikt?

Nee, FairPlay is niet beschikbaar op Android, omdat het een propriëtaire technologie van Apple is die is gekoppeld aan de Secure Enclave-hardwarearchitectuur op A-serie en M-serie chips. Voor Android-apparaten wordt Widevine DRM van Google gebruikt.

Wat is het verschil tussen FairPlay en FairPlay Streaming?

FairPlay is de algemene naam van Apple's DRM-technologie, terwijl FairPlay Streaming (FPS) het specifieke protocol is voor bescherming van HLS-streams. FPS gebruikt FairPlay-mechanismen voor encryptie van videosegmenten en licentiemanagement via AVContentKeySession.

Welke beperkingen legt een FairPlay-licentie op?

Een FairPlay-licentie kan beperkingen opleggen aan kijktijd, maximale videokwaliteit (720p, 1080p, 4K), aantal apparaten en geldigheidsduur van de sleutel. Alle beleidsregels worden op hardwareniveau in Secure Enclave uitgevoerd en kunnen niet worden omzeild.

Samenvatting

  • FairPlay — Propriëtaire DRM van Apple met hardwarebeveiliging via Secure Enclave en FairPlay Streaming-protocol voor HLS.
  • SPC en CKC — Belangrijkste protocolberichten: licentieverzoek van client en sleutelantwoord van server.
  • FPS-certificaat is verplicht voor ontwikkelaars en wordt verkregen via het Apple Developer-programma.
  • Integratie gebeurt via AVContentKeySession en AVAssetResourceLoaderDelegate in AVFoundation.
  • Secure Enclave zorgt voor geïsoleerde opslag en verwerking van sleutels op hardwareniveau.
  • Beperkingen van de licentie omvatten tijdslimieten, kwaliteit en aantal apparaten.
  • Multi-DRM-benadering met FairPlay, Widevine en PlayReady is nodig voor cross-platform streaming-apps.

We ontwikkelen een mobiele applicatie turnkey

IT Sectr creëert sinds 2017 iOS- en Android-applicaties voor startups en bedrijven. We adviseren u en stellen de beste oplossing voor.

Bespreek het project

Lees ook