Open Source im professionellen Einsatz
Linux-Magazin 08/2014
© hypermania2, 123RF

© hypermania2, 123RF

Wie künftig DRM in Firefox funktioniert

Mit Auslaufschutz

Zähneknirschend erlaubt Mozilla in Firefox das Digital Rights Management. Der folgende Artikel beschreibt die dafür eingesetzte Technik inklusive der Sandbox.

858

Manche halten es für alternativlos [1], andere für Verrat an den eigenen Idealen [2]: Mozilla hatte sich Mitte Mai dazu entschieden, künftig Digital Rights Management (DRM) in Firefox zu unterstützen, um gegenüber der Konkurrenz nicht ins Hintertreffen zu geraten [3].

Schon länger treiben etwa Microsoft, Google, Apple und Netflix trotz Protesten einen W3C-Standard zum Umgang mit DRM voran, der in dem Entwurf Encrypted Media Extensions (EME, [4]) mündet. Zwar hat das World Wide Web Consortium (W3C) ihn noch nicht zum Standard erhoben, doch die Browserhersteller bauen die neue Technologie bereits ein: der Internet Explorer, Chrome und Safari unterstützen DRM über EME [5].

Ein EME-API, viele CDMs

Die DRM-Technologie ermöglicht es Anbietern wie Netflix, Amazon Prime oder Hulu, die Filme der großen Studios verschlüsselt zu streamen. User dürfen diese nur anschauen, wenn sie berechtigt dazu sind. Um sicherzustellen, dass ein User Filme nicht lokal aufzeichnet, installiert der Anbieter proprietäre Closed-Source-Software auf seinem Rechner, die ihn daran hindert.

Bestellt ein Nutzer zum Beispiel online einen Film, schickt der Anbieter MP4-Container zurück, die einen oder mehrere verschlüsselte Tracks enthalten. Diese Tracks haben zwar einen Key Identifier im Gepäck, nicht aber den Schlüssel selbst. Die EME-Spezifikation macht keine Vorgaben zur Art der Verschlüsselung.

Ein Javascript-Programm reicht nun Initialisierungsdaten der verschlüsselten Container an ein Content Decryption Module (CDM) weiter. Hierbei handelt es sich um die vernagelte Komponente auf dem Benutzerrechner. Sie kontaktiert den Keyserver und sucht den passenden Schlüssel, um den Inhalt des Containers zu dechiffrieren. Dabei kann das CDM den entschlüsselten Daten verschiedene Grade an Restriktionen auferlegen:

  • Es kann die entschlüsselten und enkodierten Daten einfach an den Browser senden, etwa im H.264-Format.
  • Es kann die Daten entschlüsseln, dekodieren und die Raw-Frames an den Browser schicken, der sie auf das Canvas zeichnet.
  • Es kann die Daten entschlüsseln und die dekodierten Pixel vorbei am Browser direkt an den Compositor des Betriebssystems schicken.
  • Oder es schickt die Pixel gleich an die GPU, sodass das Betriebssystem diese nicht zurückholen kann.

Die EME-Spezifikation macht dem CDM auch in dieser Frage keine Vorschriften. Das EME-API, auf das sich die genannten Hersteller geeinigt haben, kommt dann beim Schlüsselaustausch zwischen Keyserver und dem lokalen CDM zum Einsatz. Das erwähnte Javascript-Programm nutzt das API, um über XML-HTTP-Requests standardisierte Nachrichten an den Keyserver zu schicken.

Es existiert also eine herstellerübergreifende Interoperabilität, was Mediendateien und Javascript-Code angeht, doch es gibt verschiedene CDMs, die unterschiedliche DRM-Schemata und Protokolle implementieren. Im EME-Sprachgebrauch heißen diese DRM-Schemata Key Systems oder Schlüsselsysteme, EME selbst hat mit Clear Key ein eigenes Schlüsselsystem für Tests entworfen. Abhängig vom eingesetzten Schlüsselsystem reicht das Javascript-Programm Byte-Puffer vom Keyserver an das CDM weiter, die nur das CDM versteht. Diese Daten enthalten den Schlüssel, mit dem das CDM den Film dechiffriert.

Ein Streaming-Anbieter kann also identische verschlüsselte Container über das gleiche Javascript-Programm an die Browser verschiedener Hersteller senden. Letztere verwenden unterschiedliche CDMs mit je eigenen Schlüsselsystemen, Microsofts Internet Explorer 11 unterstützt etwa Play-Ready, Googles Chrome setzt auf Widevine. Um plattformübergreifend zu streamen, muss ein Streaming-Anbieter also Keyserver für jedes Schlüsselsystem anbieten.

Mozillas Weg

Mozilla hat sich lange gegen die EME-Spezifikation gesträubt, der Browserhersteller plädierte für eine Wasserzeichenlösung. Mit der Kehrtwende haben sich die Firefox-Macher auf Adobe Access festgelegt, das als Shared Library vorliegt und einen eigenen H.264-Encoder mitbringt. Dieser spielt als Nebeneffekt auch unverschlüsselte H.264- und AAC-Dateien ab. Nutzer sollen nach den bisherigen Plänen den DRM-Support explizit aktivieren, von Hause aus will Mozilla den Browser ohne ausliefern.

Um das Content Decryption Module herum möchten die Entwickler einen quelloffenen CDM-Host stricken, eine Sandbox [3]. Dabei handelt es sich um eine ausführbare Datei, die per IPC mit dem Browser redet. Der CDM-Host vermittelt zwischen Browser und CDM und soll Letzteres im Zaum halten (Abbildung 1). Bevor der Host CDM-Funktionen aufruft, ändert er laut Mozilla zum Beispiel die Rechte für den Zugriff auf die Festplatte und das Netzwerk.

Abbildung 1: Eine Open-Source-Sandbox soll in Mozillas DRM-Implementierung Adobes CDM einschließen.

Auch das Node Locking, so heißt das fremdgesteuerte Verrammeln des Rechner eines DRM-Nutzers, will Mozilla besser kontrollieren als die Konkurrenz. Es funktioniert unter anderem über Fingerprinting. Das CDM greift auf die Hardware zu und bastelt sich aus verschiedenen Informationen eine eindeutige Identifikationsnummer zusammen, den Fingerprint. Mit ihm lässt sich ein Rechner eindeutig identifizieren, der Content-Anbieter liefert seine Inhalte nur an dieses Gerät. Der Knackpunkt: Meist ist unbekannt, welche Daten das CDM sammelt und ob diese eventuell auch den Anwender eindeutig identifizieren.

Mozillas CDM-Host will daher lediglich eine Identifikationsnummer des Geräts liefern, ohne weiter gehende Infos über den User und dessen Gerät preiszugeben. Zudem soll Firefox für jede Site, die DRM verwendet, eine andere Identifikationsnummer anlegen, was das Tracken über mehrere Sites hinweg erschweren würde. Der Code für den CDM-Host liegt zwar offen, wer ihn aber selbst kompiliert, darf ihn nicht verändern: Das CDM lehnt die Zusammenarbeit ab, wenn der selbst gebaute CDM-Host nicht Bit-gleich zu dem von Mozilla ist.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 2 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

Linux-Magazin kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

comments powered by Disqus

Stellenmarkt

Artikelserien und interessante Workshops aus dem Magazin können Sie hier als Bundle erwerben.