Die Woche: Linux und DRM

@ctmagazin | Kommentar

Das Vorurteil, unter einem freien Betriebssystem könne DRM nicht funktionieren, ist weit verbreitet. Stimmen die technischen Voraussetzungen, lässt sich jedoch auch unter Linux eine wirkungsvolle Rechteverwaltung implementieren.

Unter vielen Linux-Nutzern, aber auch -Entwicklern, geistert das Vorurteil herum, man könne gar kein wirksames DRM für das freie Betriebssystem entwickeln. Dabei ist die Implementierung von DRM-Systemen sowohl technisch möglich als auch erlaubt.

Bei DRM denken die meisten zuerst an einen Kopierschutz für Musik und Videos, doch es steckt sehr viel mehr dahinter. Zum Beispiel auch, Daten nur berechtigten Personen oder Applikationen zugänglich zu machen. Dass ein solcher Zugriffsschutz auch in der Praxis unter Linux funktioniert, sieht man am Beispiel von DVD und Blu-ray: Hat man es mit einem CSS-geschützten Medium zu tun, verweigert bereits das Laufwerk die Herausgabe der Daten, so lange sich nicht ein zugelassener Video-Player beim Laufwerk anmeldet.

Der Zugriffsschutz ist dabei unabhängig vom offenliegenden Kernel wirksam und zuverlässig, weil die Hardware die Daten nicht herausrückt. Hat man allerdings erst das Recht, die Daten auszulesen, findet sich unter Linux auch immer ein Weg, wie man die Inhalte trotz etwaiger Verbote vervielfältigen kann.

Bei der DVD war es noch vergleichsweise leicht: Sobald man einen bestimmten Track auf der DVD mit einem regulären Video-Player wie zum Beispiel LinDVD abspielte, war der dafür nötige Schlüssel im Laufwerk hinterlegt und man konnte frei auf den Track zugreifen und ihn so auch kopieren. Bei heutigen DRM-Systemen jedoch wird der komplette Datenstrom zwischen Laufwerk und Anwendung verschlüsselt, um ein Abzweigen der Daten zu verhindern.

Allerdings muss das Anwendungsprogramm den Datenstrom seinerseits entschlüsseln können. Das bedeutet, dass der dazu nötige Schlüssel im RAM des Rechners vorliegt und dort ausgelesen werden könnte. Die Programmierer bedienen sich üblicherweise diverser Tricks, um den Schlüssel im Programm und im Speicher zu verstecken; dazu gehört auch, dass die Applikation nicht offengelegt wird (Closed Source Software). Bei einem Open-Source-Player wäre es ein Leichtes, den Schlüssel ausfindig zu machen oder kurzerhand mit ein paar Zeilen zusätzlichem Code vom Player in eine Datei schreiben zu lassen. Bei proprietären Programmen ist dies schwieriger, hier muss man notfalls zu Disassemblern greifen, um herauszubekommen, wie das Programm im Detail arbeitet.

Doch dieser Aufwand ist eigentlich gar nicht nötig: Um zum Beispiel eine Musikdatei zu kopieren, muss man sich nicht unbedingt an der Quelle bedienen. Schließlich wird die Musik über die Soundkarte ausgeben – und was liegt näher, als die digitalen Audio-Daten von einem veränderten Soundkarten-Treiber in eine Datei schreiben zu lassen? Ähnlich einfach ist das Kopieren von Videos – anstatt das Medium zu entschlüsseln, kann der Datenstrom bequem beim Grafikkartentreiber abgefangen werden. Da das Betriebssystem offen liegt, lässt sich auch nicht verhindern, dass man auf diese Weise veränderte Treiber einsetzt, denn etwaige Beschränkungen durch den Kernel ließen sich im Nu beseitigen.

Natürlich kennen auch die Musik- und Filmindustrie diese Schlupflöcher und haben einige Gegenmaßnahmen im Programm. So wurde zum Beispiel der HDMI-Anschluss für hochauflösende Monitore und Displays eingeführt, der die Videodaten mit HDCP verschlüsselt von der Grafikkarte zum Anzeigegerät transportiert. Nun muss der zertifizierte Video-Player nur noch darauf achten, dass es sich auch um einen entsprechend zertifizierten Grafikkarten-Treiber ohne Bypass handelt und mit ihm eine verschlüsselte Verbindung aushandeln. Auf diese Weise entsteht eine digitale Kette (fast) ohne Schlupflöcher – das schwächste Glied bleibt jedoch der Applikationsschlüssel im RAM.

In Zukunft könnte es jedoch nötig sein, ein zertifiziertes und damit kastriertes Linux-System einsetzen zu müssen, falls man noch auf Filme und Musik zugreifen können möchte. Die Schlüsselkomponente, das TPM (Trusted Platform Module), befindet sich schon heute auf fast jedem Mainboard. So könnten zukünftig digitale Inhalte auf einem geschützten Bereich der Festplatte gespeichert werden. Bevor diese Daten freigegeben werden, fragt die Festplatte das TPM, ob das System vertrauenswürdig ist und über ein wirksames DRM-System verfügt. Dies ist nur dann der Fall, wenn das Betriebssystem eine entsprechende Signatur aufweist. Eine solche Signatur bekäme ein Linux-Kernel nur dann, wenn er zum Beispiel über einen besonders geschützten Speicherbereich für die Applikationsschlüssel verfügt und zudem nur zertifizierte Sound- und Grafikkartentreiber zulässt – die ihrerseits wiederum ein Abzweigen der Daten verhindern.

Auf ähnliche Weise ging die amerikanische Firma Tivo vor, deren digitaler Videorecorder ebenfalls Linux verwendet: Man veröffentlichte ganz GPL-konform den Linux-Kernel nebst aller Anpassungen als Quellen. Eine Modifikation des Linux-Systems auf der Settop-Box war jedoch nicht möglich, da der Bootloader lediglich von Tivo signierte Kernel akzeptierte. Auf diese Weise verhinderte man wirkungsvoll, dass Nutzungsbeschränkungen umgangen oder die Hardware unautorisiert aufgerüstet wurde. Lediglich mit dem Original-Tivo-Kernel lässt sich die Settop-Box auch nutzen.

Bis solche Techniken auch auf herkömmlichen PCs eingesetzt werden, lässt sich bei einem offenen Betriebssystem wie Linux nicht sicherstellen, dass die Daten nicht irgendwo abgezweigt werden. Daher ist der Einsatz von DRM-Techniken als Kopierschutz für Musik und Videos unter Linux auch wenig sinnvoll – selbst wenn zum Beispiel eine SD-Speicherkarte den notwendigen Zugriffsschutz auf Hardware-Ebene bietet. Der einzige Weg, eine Kopie sicher zu verhindern, ist, das Abspielen erst gar nicht zu erlauben. (mid)

Anzeige
Anzeige