FairPlay ist eine proprietäre DRM-Technologie von Apple zum Schutz von Videoinhalten im iOS-, tvOS- und macOS-Ökosystem. Das System nutzt Secure Enclave und Hardwareverschlüsselung zur sicheren Schlüsselspeicherung, sodass Streaming-Dienste Inhalte in 4K HDR-Qualität bereitstellen können. Laut Apple Developer-Dokumentation (2025) wird FairPlay Streaming auf allen Apple-Geräten mit A8-Chip und neuer unterstützt.
Das Wichtigste
FairPlay ist eine von Apple entwickelte DRM-Technologie, die in die Betriebssysteme iOS, tvOS, iPadOS und macOS integriert ist, um Audio- und Videoinhalte vor unbefugter Nutzung zu schützen. Ursprünglich für iTunes und iPod entwickelt, hat sie sich zu einem vollwertigen Schutzsystem für Streaming-Inhalte über das FairPlay Streaming-Protokoll entwickelt.
Anders als andere DRM-Lösungen ist FairPlay vollständig in die Hardware-Architektur von Apple-Geräten integriert. Die Entschlüsselungsschlüssel werden in der Secure Enclave gespeichert — einem geschützten Koprozessor, der vom Hauptbetriebssystem isoliert ist. Dies macht die Extraktion von Schlüsseln selbst mit Jailbreak praktisch unmöglich.
Die Geschichte von FairPlay begann 2003 mit dem iTunes Store, wo AAC-Dateiverschlüsselung im proprietären M4P-Format angewendet wurde. 2009 stellte Apple FairPlay Streaming vor — ein Protokoll zum Schutz von HLS-basiertem Streaming-Video, das später für Apple TV und iOS-Apps verbindlich wurde.
Ab iOS 10 und tvOS 10 öffnete Apple FairPlay Streaming für Drittanbieter-Entwickler über das AVFoundation-Framework. Heute nutzen Netflix, Amazon Prime Video und Disney+ FairPlay zum Schutz von Inhalten auf Apple-Geräten bis zu 4K HDR-Auflösung mit Dolby Vision.
Die Funktionsweise von FairPlay basiert auf einem dreistufigen Prozess: Content-Packaging, Verteilung über CDN und Entschlüsselung auf dem Gerät. Beim Packaging wird das Video mit AES-128 oder AES-256 verschlüsselt, und die Verschlüsselungsschlüssel werden über den Key-Envelope-Mechanismus an ein bestimmtes Gerät gebunden.
Bei der Content-Anfrage initiiert der Player eine FairPlay-Sitzung über AVContentKeySession, die eine Anfrage an den Lizenzserver des Content-Anbieters sendet. Der Server überprüft die Zugriffsrechte und gibt den mit dem öffentlichen Schlüssel des Gerätezertifikats verschlüsselten Entschlüsselungsschlüssel zurück.
Der Client erstellt eine Instanz von AVContentKeySession und fügt die Content-Spur hinzu. Das System generiert eine SPC-Anfrage (Server Playback Context), die die Geräte-ID und das von Apple signierte Anwendungszertifikat enthält. Diese Anfrage wird per HTTPS an den Lizenzserver gesendet.
Der Lizenzserver validiert die SPC, ruft den Content-Schlüssel aus seiner Datenbank ab und verschlüsselt ihn mit dem öffentlichen Schlüssel des Geräts, um einen CKC (Content Key Context) zu bilden. Der CKC wird an den Client zurückgegeben, wo AVContentKeySession ihn mit dem privaten Schlüssel der Secure Enclave entschlüsselt.
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)
Die FairPlay-Architektur umfasst mehrere miteinander verbundene Komponenten: Anwendungszertifikat, Key Envelope, Secure Enclave und Inhaltsentschlüsselungsmodul. Jede Komponente hat ihre Rolle in der Schutzkette vom Server bis zum Bildschirm des Benutzers.
| Komponente | Funktion | Ausführungsort |
|---|---|---|
| Anwendungszertifikat | Identifiziert die App gegenüber dem Lizenzserver | Im App-Bundle gespeichert |
| SPC | Server Playback Context — Lizenzanfrage | Von AVContentKeySession generiert |
| CKC | Content Key Context — Antwort mit Schlüssel | Von Secure Enclave verarbeitet |
| Secure Enclave | Hardwaregestützte Schlüsselspeicherung und -entschlüsselung | Hardware-Koprozessor auf dem SoC |
| Key Envelope | Schlüsselbehälter mit Lizenzmetadaten | Vom Lizenzserver generiert |
Um mit FairPlay zu arbeiten, muss ein Entwickler ein FPS-Zertifikat von Apple über das Apple Developer-Programm erwerben. Das Zertifikat enthält den öffentlichen Schlüssel eines asymmetrischen Paares, dessen privater Teil von der Secure Enclave zur Entschlüsselung des CKC verwendet wird.
Das Anwendungszertifikat wird zum Projekt-Bundle hinzugefügt und beim Build über Xcode automatisch signiert. Bei der ersten Wiedergabe geschützter Inhalte überprüft das System die Gültigkeit des Zertifikats und fordert eine Lizenz an.
Secure Enclave ist ein dedizierter Koprozessor auf Apple A-Serie und M-Serie Chips, der auf dem isolierten L4-Betriebssystem läuft. Er ist für die Generierung und Speicherung privater Schlüssel, die Entschlüsselung des CKC und die Übergabe des Content-Schlüssels an das Videoentschlüsselungsmodul verantwortlich.
Alle kryptografischen Operationen werden ausschließlich innerhalb der Secure Enclave durchgeführt, und Schlüssel verlassen niemals den geschützten Bereich. Side-Channel-Angriffe auf den Datenbus zwischen Secure Enclave und Hauptprozessor werden durch Hardware-Integritätsüberwachung blockiert.
Die FairPlay-Integration in iOS- und tvOS-Apps erfolgt über AVFoundation und erfordert die Implementierung der Protokolle AVContentKeySessionDelegate und AVAssetResourceLoaderDelegate. Der Entwickler muss vier Schlüsselereignisse behandeln: SPC empfangen, an Server senden, CKC empfangen und an Player übergeben.
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)
)
}
}
Vor Beginn der Wiedergabe müssen Sie das Anwendungszertifikat aus dem Bundle laden und die Inhaltskennung (meist die Stream-URL oder Film-ID) vorbereiten. Das Zertifikat muss mindestens für die Dauer der Inhaltsmiete gültig sein, sonst schlägt die Lizenzierung fehl.
Die Inhaltskennung wird in der SPC-Bildungsphase an das Lizenzierungssystem übergeben. Der Lizenzserver verwendet diese Kennung, um den entsprechenden Schlüssel und die Wiedergaberichtlinien zu finden, einschließlich Zeit- und Gerätebeschränkungen.
Während der Lizenzierung können Fehler auftreten: Zertifikatablauf, ungültige Inhaltskennung, fehlende Zugriffsrechte des Benutzers. FairPlay-Fehler werden über den Delegaten contentKeySession:didFailWithError zurückgegeben und müssen mit entsprechender Benutzeroberfläche behandelt werden.
Typische Fehlercodes umfassen FP_NO_ENTITLEMENT bei fehlendem Abonnement und FP_REQUEST_TIMEOUT bei Netzwerkproblemen. Es wird empfohlen, eine Wiederholungslogik mit exponentiellem Backoff für temporäre Netzwerkausfälle zu implementieren.
FairPlay Streaming ist ein Protokoll zum Schutz von HLS-basiertem Streaming-Video, das Segmentverschlüsselung und einen zeitlich begrenzten Schlüsselmechanismus verwendet. Der Content-Anbieter betreibt einen eigenen Lizenzserver, der in das Benutzerauthentifizierungssystem integriert ist.
Der Lizenzserver empfängt eine SPC-Anfrage vom Client, extrahiert die Geräte- und Inhaltskennungen, überprüft die Benutzerrechte im Backend und erstellt eine CKC-Antwort. Der Content-Schlüssel wird mit dem öffentlichen Schlüssel des Geräts aus dem FPS-Zertifikat verschlüsselt.
Eine FairPlay-Lizenz kann Zeitbeschränkungen (48-Stunden-Miete), Gerätelimits (maximal 5 autorisierte Geräte) und Wiedergabequalitätsbeschränkungen (auf 1080p für den Basistarif begrenzt) enthalten. Die Richtlinien werden serverseitig festgelegt und in Key Envelope verpackt.
Es ist wichtig zu beachten, dass FairPlay-Richtlinien auf Secure-Enclave-Ebene durchgesetzt werden und nicht durch Softwaremethoden auf Betriebssystemebene umgangen werden können. Selbst mit Jailbreak verhindert der Hardwareschutz die Extraktion von Schlüsseln oder die Änderung von Lizenzparametern.
| Parameter | FairPlay | Widevine | PlayReady |
|---|---|---|---|
| Ökosystem | Apple (iOS, tvOS, macOS) | Google (Android, Chrome) | Microsoft (Windows, Xbox) |
| Maximale Qualität | 4K HDR Dolby Vision | 4K UHD | 4K UHD |
| Hardwareschutz | Secure Enclave | TEE | TPM + TEE |
| Entwickleranforderungen | Apple FPS-Zertifikat | Nicht erforderlich | Microsoft-Lizenz |
Die Unterstützung von FairPlay Streaming hängt von der Betriebssystemversion und dem Gerätetyp ab. Seit iOS 10 und tvOS 10 ist die AVContentKeySession-API für alle Apps verfügbar, aber Hardwarebeschleunigung über Secure Enclave ist nur für Inhalte in 4K HDR-Qualität erforderlich. Auf Geräten mit A8–A10-Chips ist die maximale Auflösung auf 1080p begrenzt.
In iOS 14 fügte Apple Unterstützung für mehrere FairPlay-Sitzungen hinzu, sodass eine App mehrere geschützte Streams gleichzeitig abspielen kann — zum Beispiel Bild-in-Bild mit verschiedenen Lizenzen. iOS 15 erweiterte das Protokoll um Hintergrundschlüsselaktualisierung für längeres Ansehen.
Für plattformübergreifende Streaming-Dienste wird FairPlay als Teil einer Multi-DRM-Architektur zusammen mit Widevine und PlayReady verwendet. Lizenzaggregatoren wie Axinom und EZDRM bieten eine einheitliche API, die Anfragen in das SPC-Format für FairPlay und das MediaDrm-Format für Widevine übersetzt und so die Integration auf allen Plattformen vereinfacht.
Häufig gestellte Fragen
FairPlay ist eine Apple-DRM-Technologie, die in iOS, tvOS und macOS zum Schutz von Videoinhalten integriert ist. Sie verwendet Hardwareverschlüsselung über Secure Enclave und das FairPlay Streaming-Protokoll zur sicheren Übertragung von Entschlüsselungsschlüsseln auf Apple-Geräten.
Um ein FPS-Zertifikat zu erhalten, müssen Sie sich im Apple Developer-Programm registrieren, ein Zertifikat im Bereich Certificates, Identifiers & Profiles erstellen und es im DER-Format herunterladen. Das Zertifikat wird dem Xcode-Projekt-Bundle hinzugefügt und beim Build signiert.
Nein, FairPlay ist auf Android nicht verfügbar, da es sich um eine proprietäre Apple-Technologie handelt, die an die Secure-Enclave-Hardwarearchitektur auf A-Serie und M-Serie Chips gebunden ist. Android-Geräte verwenden Widevine DRM von Google.
FairPlay ist der Oberbegriff für Apples DRM-Technologie, während FairPlay Streaming (FPS) ein spezifisches Protokoll zum Schutz von HLS-Streams ist. FPS nutzt FairPlay-Mechanismen zur Verschlüsselung von Videosegmenten und zur Lizenzverwaltung über AVContentKeySession.
Eine FairPlay-Lizenz kann Einschränkungen hinsichtlich Betrachtungszeit, maximaler Videoqualität (720p, 1080p, 4K), Anzahl der Geräte und Schlüsselgültigkeit festlegen. Alle Richtlinien werden hardwaremäßig in der Secure Enclave durchgesetzt und können nicht umgangen werden.
Zusammenfassung
Wir entwickeln eine mobile Applikation schlüsselfertig
IT Sectr entwickelt seit 2017 iOS- und Android-Apps für Startups und Unternehmen. Wir beraten Sie und schlagen die beste Lösung vor.
Lesen Sie auch