26.02.2014 Aufrufe

Linux-Magazin Clean Linux (Vorschau)

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Programmieren<br />

www.linux-magazin.de HTML-5-DRM 09/2013<br />

100<br />

Komponente »privateKey«, um die Signatur<br />

zu bilden. In Zeile 18 benutzt sie den<br />

öffentlichen Schlüssel aus »publicKey«<br />

zum Verifizieren der Signatur. Zeile 19<br />

gibt das Ergebnis der Verifikation auf der<br />

Javascript-Konsole aus.<br />

Mit solchen kryptographischen Funktionen<br />

lässt sich eine Anwendung schreiben,<br />

die beispielsweise das Abspielen<br />

einer verschlüsselten Videodatei nur einem<br />

bestimmten Browser in einer einzigen<br />

Sitzung erlaubt. Das heißt, Anbieter<br />

wie Netflix oder BBC können über diese<br />

HTML-5-Erweiterung effektiv Digital<br />

Rights Management (DRM) betreiben.<br />

Widerstand<br />

Das trifft auf den Widerstand der Electronic<br />

Frontier Foundation (EFF). Die USamerikanische<br />

Organisation für digitale<br />

Bürgerrechte bekämpft seit Jahren DRM.<br />

Im Mai 2013 reichte die EFF daher förmlichen<br />

Einspruch gegen die Statuten der<br />

HTML-Arbeitsgruppe beim W3C ein: Die<br />

Encrypted Media Extensions widersprechen<br />

nach Meinung der Foundation der<br />

Vision des W3C von einem offenen Web<br />

01 var encRawKey = "4ea1...b2bf";<br />

02 var encAlg = {<br />

03 name : "AES‐GCM",<br />

04 params : {<br />

05 iv : hex2bin("534aea17"),<br />

06 additionalData: hex2bin("534aea17"),<br />

07 tagLength: 128<br />

08 }<br />

09 };<br />

10 function encrypt(text) {<br />

Listing 1: Verschlüsselung von Anwendungsdaten<br />

11 polycrypt.importKey("raw",<br />

hex2bin(encRawKey)).oncomplete = function(e) {<br />

12 var key = e.target.result;<br />

01 var sigKeyAlg = {<br />

02 name: "RSASSA‐PKCS1‐v1_5",<br />

03 params: {<br />

04 modulusLength: 512,<br />

Listing 2: Signieren einer Nachricht<br />

05 publicExponent: new Uint8Array([0x01, 0x00,<br />

0x01])<br />

06 }<br />

07 };<br />

08 var sigAlg = {<br />

09 name: "RSASSA‐PKCS1‐v1_5",<br />

10 params: { hash: "SHA‐1" }<br />

11 };<br />

12 function signature(text) {<br />

13 var arr = str2bin(text);<br />

und schlössen bestimmte Browser und<br />

Plattformen vom WWW aus. Die EME<br />

behinderten die Interoperabilität sowie<br />

die Partizipation aller am Web.<br />

Gegen das Hollyweb<br />

13 polycrypt.encrypt(encAlg, key,<br />

str2bin(text)).oncomplete = function(e) {<br />

14 var cipher = e.target.result;<br />

15 polycrypt.decrypt(encAlg, key, cipher).<br />

oncomplete = function(e) {<br />

16 console.log("encrypted: "<br />

+bin2str(cipher));<br />

17 console.log("decrypted: "<br />

+bin2str(e.target.result));<br />

18 };<br />

19 };<br />

20 };<br />

21 }<br />

14 polycrypt.generateKey(sigKeyAlg).oncomplete =<br />

function(e) {<br />

15 var key = e.target.result;<br />

16 polycrypt.sign(sigAlg, key.privateKey,<br />

arr).oncomplete = function(e) {<br />

17 var sign= e.target.result;<br />

18 polycrypt.verify(sigAlg, key.publicKey,<br />

sign, arr).oncomplete = function(e) {<br />

19 console.log("verifyed?: "+e.target.<br />

result);<br />

20 };<br />

21 };<br />

22 };<br />

23 };<br />

ELIMINATE<br />

DRM<br />

DefectiveByDesign.org<br />

Abbildung 2: Die Free Software Foundation<br />

bekämpft Digital Rights Management mit ihrer<br />

Kampagne „Defective by Design“.<br />

Dieser Kritik schließt sich die Free Software<br />

Foundation (FSF) an, die seit jeher<br />

von „Digital Restrictions Management“<br />

spricht und es bekämpft (Abbildung 2).<br />

Für die aktuelle Bedrohung haben die Aktivisten<br />

den Begriff „Hollyweb“ geprägt<br />

und meinen damit ein Internet, das sich<br />

an den Vorstellungen der Filmkonzerne<br />

aus Hollywood orientiert [11]. Am 3. Mai<br />

2013 feierten sie mit internationalen Partnern<br />

einen Tag gegen DRM und überreichten<br />

dem W3C eine Protestnote mit<br />

Zehntausenden Unterschriften.<br />

Förmlichen Einspruch gegen EME hat<br />

auch der Software-Entwickler Andreas<br />

Kuckartz eingelegt [12]. Der Deutsche<br />

ist seit zwei Jahren Invited Expert in der<br />

HTML-Arbeitsgruppe des W3C. Er sieht<br />

bei EME Probleme mit den Lizenzen von<br />

Open-Source-Software: „Seit GPLv3 sind<br />

DRM und freie Software nicht mehr vereinbar.“<br />

Seiner Meinung nach besteht<br />

für das W3C keine Verpflichtung, den<br />

Wünschen der Unterhaltungsindustrie<br />

nach Digital Rights Management nachzukommen.<br />

Der Standardisierungsprozess<br />

werde noch einige Stadien durchlaufen,<br />

erklärt er und hält den Ausgang<br />

für unklar. „Falls das W3C DRM aus den<br />

Standards rauslässt, könnten die Interessenten<br />

auch einen Alleingang machen“,<br />

prognostiziert er vorsichtig. n<br />

Infos<br />

[1] „HTML5 Video at Netflix“:<br />

[http:// techblog. netflix. com/ 2013/ 04/​<br />

html5‐video‐at‐netflix. html]<br />

[2] Unterstützung der BBC für DRM:<br />

[http:// lists. w3. org/ Archives/ Public/​<br />

public‐html‐admin/ 2013Feb/ 0153. html]<br />

[3] Encrypted Media Extensions (EME):<br />

[https:// dvcs. w3. org/ hg/ html‐media/​<br />

raw‐file/ tip/ encrypted‐media/​<br />

encrypted‐media. html]<br />

[4] Web Cryptography API:<br />

[https:// dvcs. w3. org/ hg/ webcrypto‐api/​<br />

raw‐file/ tip/ spec/ Overview. html]<br />

[5] Implementierung in Chrome:<br />

[http:// www. chromestatus. com/ features]<br />

[6] Crypto-API bei Mozilla:<br />

[https:// wiki. mozilla. org/ Privacy/​<br />

Features/ DOMCryptAPISpec/ Latest]<br />

[7] Polycrypt: [http:// polycrypt. net]<br />

[8] Netflix Webcrypto:<br />

[https:// github. com/ Netflix/ NfWebCrypto]<br />

[9] AES: [https:// de. wikipedia. org/ wiki/​<br />

Advanced_Encryption_Standard]<br />

[10] RSA: [http:// de. wikipedia. org/ wiki/​<br />

RSA‐Kryptosystem]<br />

[11] Förmlicher Einspruch der EFF:<br />

[https:// www. eff. org/ pages/ drm/​<br />

w3c‐formal‐objection‐html‐wg]<br />

[12] Förmlicher Einspruch von Andreas Kuckartz:<br />

[http:// lists. w3. org/ Archives/ Public/​<br />

public‐html‐admin/ 2013May/ 0138. html]

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!