Hlavní navigace

Podpora HDCP v Linuxu vyvolala bouři nevole, Collabora mírní vášně

David Ježek

Vývojář Sean Paul z Googlího týmu ChromeOS zaslal sérii patchů přinášejících podporu HDCP do linuxového ovladače grafik Intel. Tím spustil další spor v nekonečné řadě sporů na toto téma.

Doba čtení: 8 minut

Sean Paul a jeho nenápadné patche pro i915 a HDMI/DP

Předně je dobré vědět, o kom je řeč. Sean Paul je vývojář z Googlu, který ve firmě pracuje už 7 let a jeho primárním zaměřením je grafický či obecně zobrazovací subsystém Linuxu a jeho DRM. V rámci jádra také DRM udržuje, stejně tak udržuje část podpory DRM na Androidu a přispívá i do projektu Chromium. DRM v tomto kontextu vnímejme jako „dobrý“, tedy Direct Rendering Manager, nikoli jako „zlý“ Digital Rights Management.

Ale právě o tom druhém bude dnes řeč. Sean Paul zaslal sérii několika patchů (0, 1, 2, 3, 4, 5, 6), jejichž název začal písmeny „RFC“ a jejichž cíl je jasný: nabídnout podporu ochrany obsahu HDCP, tedy High-bandwidth Digital Content Protection, systému digitální ochrany obsahu vyvinutého dávno ve společnosti Intel.

Co vlastně HDCP je

HDCP funguje na třech základních principech. Tím prvním je používání autentizace, která znemožňuje přijímat digitální obsah (film) zařízením, které není licencované. Druhým je používání šifrovacích metod pro posílání chráněných dat skrze rozhraní (DisplayPort, DVI, HDMI, GVIF či UDI), aby bylo zamezeno odposlouchávání obsahu, tedy fakticky „útoku typu man-in-the-middle“ (jakkoli je to přeci jen příliš silné označení). A do třetice je pak užito systému revokace klíčů zamezující dalšímu přístupu k obsahu zařízeními, jejich zabezpečení bylo kompromitováno.

Do značné míry je HDCP velmi podobné jiným systémům ochran. Myšleno zejména filmů, protože tento typ obsahu je nejčastěji kopírován a jeho majitelé práv nejčastěji vyčíslují ty nejvyšší škody způsobené „pirátstvím“. A také platí, že podobně jako jiné ochrany předtím (CSS na DVD-Video, AACS a BD+ na HD-DVD a Blu-ray apod.), i HDCP je prolomeno a ryze technicky vzato moc svoji funkci už neplní, pokud by člověk vyvinul dostatečné úsilí ke zkopírování chráněného díla.

HDCP má svoji dlouholetou tradici, ostatně i Microsoft během vývoje Windows Vista musel přijít s úpravami architektury systému pro přehrávání videí, aby na tomto OS byl schopen garantovat ochranu obsahu. Z hlubin jeho webu lze i dnes vytáhnout 12 let starý 45stránkový popis ochran ve Windows Vista implementovaných [doc ke stažení] – doporučuji všem zájemcům o „IT archeologii“, je to úsměvné čtení v kontextu dnešních možností v kopírování filmů na Blu-ray discích prakticky jedním kliknutím myši.

Jak to vidí majitelé práv k filmům

V tomto textu předpokládám jako výchozí stanovisko nás, linuxové komunity, která nade vše ctí otevřenost systému, který nijak neomezuje svobody uživatele. Nemusíme ani zacházet tak daleko, jak ve své argumentaci často činí Richard M. Stallman – jeho názor je možné volně parafrázovat tak, že HDCP nemůže být v Linuxu proto, že jen jeho pouhá přítomnost dává nástroj k omezení práv uživatele. Vystačme si pro tuto chvíli s postojem, kdy je přítomnost HDCP v systému nepřijatelná jako reálně používaná součást přehrávání filmů, u které nemá uživatel možnost volby. A to v tom smyslu, že typická linuxová distribuce například neobsahuje přehrávač VLC s plně funkčními knihovnami libbluray, libaacs a libbdplus, tedy takové VLC, které by dokázalo bez jakýchkoli omezení přehrát film na Blu-ray médiu chráněný ochranami AACS a BD+ bez patřičných oficiálních klíčů pro tyto ochrany.

Postoj majitelů práv k filmovým dílům je jasný: chtějí mít absolutní kontrolu nad tím, jakými cestami, v jaké formě a za jakou částku budou jejich filmy distribuovány či prodávány. Žádný jiný důvod nestojí za přítomností ochran u filmů, ať již jde o BD+/AACS 2.0 u nejnovějších UltraHD Blu-ray titulů, přes CSS u DVD-Video až třeba po Macrovision na VHS kazetách. Postoj je to logický, cílem filmových producentů nebývá vždy nějaký pamětihodný příspěvek k lidské kultuře a historii, často jde jen o peníze a moc a film je přeci jen rizikové podnikání, kdy jeden vydělá miliardy dolarů, zatímco na jiném studio prodělá klidně i stovky miliónů. Ale bez ohledu na to kapitalismus velí vydělat na daném produktu co nejvíce, což v případě filmů právě obcházení či prolamování ochran značně narušuje.

Berme také jako platné, že i filmoví tvůrci mají legitimní právo na to chtít nějak svá díla ochránit před ničím neomezeným kopírováním. To, že se to mnoha z nás nelíbí, na tom nic nemění.

Collabora mírní vášně

Daniel Stone z open-source organizace Collabora (netřeba představovat) se k tomu vyjádřil na firemním blogu. Stručně řečeno by se vše dalo shrnout tak, že se open-source komunita nemá čeho bát ani v případě, že by se podpora HDCP dostala do linuxového jádra.

HDCP je téměř kompletně implementováno na úrovni hardwaru, pouze malá část je softwarová. Takže případná implementace HDCP v Linuxu je nevyužita do chvíle, než nějaký prvek (řekněme třeba to VLC) požádá o HDCP (šifrovanou) linku na nějaký grafický výstup. Pak se HDCP v hardwaru pokusí tuto linku navázat na dané zobrazovací zařízení a když se podaří, informuje žadatele, že je navázáno a „film je možné přehrávat v plném rozlišení“ (v případě, že se navázání nepodaří, tak je možné spojení v nižší kvalitě – viz onen dokument Microsoftu o několik odstavců výše). Pokud tedy uživatel počítače nechce HDCP používat, stačí jej prostě nepoužívat. Případná implementace v linuxovém jádru používání HDCP nijak nebude vyžadovat či prosazovat.

Jelikož je HDCP implementováno v hardwaru (v tomto případě lze říci v grafické kartě či grafickém jádru v procesoru), znamená to, že data posílaná přehrávačem přes grafický výstup do zobrazovacího zařízení (monitor, TV) jsou na velké části cesty nešifrovaná, teprve na úrovni GPU dojde k jejich zašifrování a poslání po HDCP lince do zobrazovadla. Framebuffery, ke kterým je přístup pomocí DRM / KMS jsou tedy nešifrované, teprve ve chvíli, kdy grafické jádro sestavuje obraz (snímek), který půjde na monitor, je tento zašifrován, následně předán na výstup (dnes v podstatě jen HDMI či DP), přičemž následně v monitoru / TV musí dojít opět k dešifrování a zobrazení. V tomto kontextu se sluší připomenout zcela logickou věc: zobrazení šifrovaného chráněného Blu-ray filmu na FullHD TV nijak nebrání tomu, že obraz z TV nahrajete nějakou kamerou (ta dnes může mít vyšší rozlišení i dynamický rozsah než záznam na Blu-ray disku). HDCP pouze brání tomu, aby si kdokoli mohl vzít digitální data bez ztráty kvality.

Principiálně vzato tak HDCP nijak neomezuje práva uživatele. Pokud je nějaký prvek, který určité omezení zavádí, tak je to například samotný film na Blu-ray nosiči s AACS/BD+ ochranou. A pokud chce někdo vést „svatou válku“ za neomezené svobody uživatele PC s Linuxem, pak brečí na špatném hrobě. Chybou je z takového hlediska volně řečeno „přítomnost HDCP na Blu-ray disku“, nikoli její (případná) podpora v Linuxu.

Může být HDCP v Linuxu někomu prospěšné?

Položme si však ještě jednu otázku. Existuje alespoň teoretická varianta, kdy toto vše může být ku prospěchu jedince?

Absence podpory ochran v Linuxu je jedním z důvodů, proč pro tento systém neexistují určité produkty. To, že můžeme víceméně bez omezení přehrávat na Linuxu soubory typu MP3, AAC, DVD-Video (řekněme tedy .VOB) a jiné další, je dáno právními omezeními. Kupříkladu Fedora donedávna neobsahovala podporu MP3 ve výchozí instalaci kvůli patentové ochraně formátu a s ohledem na vlastní původ v USA, ale bylo možné si ji kdykoli doinstalovat.

Typický uživatel Windows nemusí nic řešit. Buď má podporu jako přímou součást operačního systému, nebo si kupříkladu zakoupil Blu-ray mechaniku s nějakým komerčním sw na přehrávání (např. Cyberlink) a už od Windows Vista obsahuje tento OS podporu ochran na Blu-ray médiích používaných. Uživatel Linuxu typicky buď řeší, kde posbírat „pirátskou“ databázi AACS klíčů a jak zprovoznit podporu ve VLC (či v jiném programu) ve své distribuci, nebo prostě Blu-ray filmy pouští na stolním Blu-ray přehrávači (ač to je technicky vzato v podstatě jen počítač s AACS / BD+ / HDCP) a Smart TV (další počítač s HDCP, integrovaný však v obří obrazovce), tedy na přehrávači, který jeho práva omezuje daleko více než podpora HDCP v Linuxu, po 99,99 % času jen spící a čekající na požadavek k aktivaci.

Neřešitelný spor

Nijak nerozporuji, že je správné vést boj za to, aby bylo možné filmy přehrávat bez zbytečných obstrukcí. Ostatně vzpomeňme dnes již legendární obrázek:

Matrix - DVD vs DVDrip

Matrix – DVD vs DVDrip

Toto je to, co skutečně omezuje práva uživatele, nikoli to, jestli zobrazení mezi přehrávačem a zobrazovadlem putuje šifrované či nešifrované. Osobně za zvěrstvo nepovažuji AACS či BD+ a HDCP, ale právě „zvěrstva“ při masteringu Blu-ray disku. Za prvé nepřeskočitelná menu, animace trailery, kdy jste za svých 199 Kč (nebo třeba taky 899 Kč) odsouzeni po zbytek života při vložení svého oblíbeného filmu do přehrávače ke sledování traileru na nějakou „romantickou ptákovinu“ od stejného distributora, po které týden po premiéře neštěkl ani pes (a která jen „krade“ datový prostor média, který mohl být použit pro vlastní film).

Za druhé když někdo vydá starý film (24 políček/s) na Blu-ray médiu (24 fps), k němuž přidá původní československý dabing vytvořený pro TV verzi o 50 půlsnímcích/s (tj. 25 fps), který náležitě zpomalí, ale už neupraví výšku tónu, takže celý film zní jako soutěž ústavu pro mentálně zaostalé v přednesu hlubokým basem. A další podobné věci.

A konečně je také potřeba si uvědomit, že Linux je jen jádrem operačního systému s určitými vrstvami nad sebou. A dokud zahrnutí podpory HDCP nepovede ke konci existence distribucí bez HDCP v kernelu, není se čeho bát – podobně jako samotná existence podpory systemd v Linuxu nevedla k absolutnímu zákazu používání Linuxu s jiným init systémem. Volně řečeno: to, že si váš soused pořídil manželku, neznamená, že vy nesmíte trávit večery s tou svojí.

Jsem přesvědčen, že za 10+ let v 8k či 16k éře přijde všem směšné, že se takto brutálně řešila ochrana filmů v tak směšně malém rozlišení jako je FullHD. To však nic nemění na skutečnosti, že HDCP vyvolávalo, vyvolává a vždy bude vyvolávat vášně u skupiny uživatelů Linuxu, která považuje jakýkoli zásah do volnosti užívání věcí za nepřijatelný.

Našli jste v článku chybu?