HDCP: jak funguje „prolomená“ ochrana proti kopírování?
3.8.2011, Tomáš Ligmajer, článek
Technologie HDCP se již dávno stala běžnou součástí života mnohých z nás, aniž bychom to možná tušili. Prakticky každý, kdo z nějakého důvodu používá HDMI rozhraní k přenosu obrazu či zvuku, má s HDCP co do činění. Týká se to ale i spousty jiných případů.
Kapitoly článku:
- HDCP: jak funguje „prolomená“ ochrana proti kopírování?
- Evoluce HDCP, možnosti použití
- HDCP 2.0 - jde to i bez kabelů
- Pokusy o prolomení a závěrečné shrnutí
Technologie HDCP byla vyvinuta společností Intel. Licenci, která je nutná pro její využívání, vydává dceřiná společnost Digital Content Protection (DCP), LLC. První dostupná verze 1.0 byla k dispozici v roce 2001, v roce 2003 přišla revize 1.1. Do roku 2006 pak byla vydána revize 1.2 a 1.3. Na konci roku 2008 přišla samostatná verze 2.0 s podporou protokolů a bezdrátových sítí, umožňující spolupráci mezi verzemi 1.x a 2.0. Poslední dosud vydaná je revize 1.4 z roku 2009.
Tabulka jednotlivých verzí HDCP:
Tabulka jednotlivých verzí HDCP:
HDCP revize
|
Podporovaná rozhraní
|
1.0
|
DVI
|
1.1
|
DVI, HDMI
|
1.2
|
DVI, HDMI
|
1.3
|
DVI, HDMI, DP, GVIF, UDI
|
1.4
|
DVI, HDMI, DP, GVIF, UDI, DLI, HDBaseT, MHL, GMSL, FPD-Link III
|
2.0
|
TCP/IP, Wi-Fi, USB, WHDI
|
HDCP 1.x
Nejprve se podrobněji podíváme na HDCP revizi 1.x a vysvětlíme si, jak funguje. Systém chráněný pomocí HDCP může zahrnovat 3 druhy zařízení propojené přes HDMI. Každý přístroj pak obsahuje jeden nebo vice HDCP vysílačů/přijímačů. Občas může být funkčnost HDCP a HDMI spojena do jednoho vysílacího/přijímacího čipu.

Tři typy přístrojů:
- Zdroj (source): posílá obsah, jenž má být zobrazen, patří sem set-top box, DVD/ Blu-ray přehrávače a grafické karty. Zdroj může obsahovat HDCP/HDMI vysílač.
- Opakovač (repeater): přijímá obsah, dešifruje ho, opět zašifruje a přepošle data. Může dojít ke zpracování signálu, např. převod obrazu na vyšší rozlišení nebo oddělení zvukové části od signálu. Opakovače obsahují jak HDMI vstup, tak i výstup. Příkladem je AV přijímač u domácího kina, jenž oddělí a zesílí audio signál, zatímco video signál je přenášen do TV. Opakovač také umožňuje jednoduché posílání vstupních dat na více výstupů, pro zobrazení na několika obrazovkách současně.
- Koncové zařízení (sink): televizor nebo digitální projektor zobrazuje doručený obsah. Zahrnuje jeden nebo vice HDCP/HDMI přijímačů.

Možnost zapojení přes HDMI switch 4 × 4.
Jen pro úplnost je třeba poznamenat, že systém domácího kina může obsahovat HDMI switch, (např. 3 vstupy a 1 výstup, pak lze přepínat mezi třemi zdroji a zobrazovat jejich obsah na jedné TV). Většina switchů ale neumí šifrovat/dešifrovat obsah a pouze jednoduše spojí zdroj s koncovým zařízením. Nejde tedy o opravdové HDCP opakovače. Avšak funkci switche lze přidat i do opakovačů a koncových zařízení.
Některé možnosti použití HDCP
Jednotlivá zařízení můžeme uspořádat do tzv. stromového zapojení, to může obsahovat až 127 přístrojů rozložených do 7 úrovní, což nám dovoluje použít nejrůznější kombinace. Obsah zašifrovaný pomocí HDCP následně proudí tímto zapojením přes stejně chráněné rozhraní.

Ukázka nejčastěji využívaného stromového zapojení. Tři zdroje (Blu-ray přehrávač, set-top box a herní konzole) jsou spojeny s opakovačem (AV přijímač), jenž je propojen se zobrazovacím zařízením (TV). Veškerá komunikace mezi těmito přístroji je chráněna pomocí HDCP.
Různé způsoby zapojení v praxi:
- Televizor je připojen k jednomu nebo vice zdrojům. Například HDTV se čtyřmi HDMI vstupy, uživatel připojí tři přístroje a může si vybrat, jaký obsah bude sledovat.
- Několik zdrojů připojených k jednomu AV přijímači, podobně jako na předchozím obrázku. Uživatel volí sledovaný obsah pomocí přijímače, jenž mu zajišťuje prostorový zvuk a současně posílá obraz do TV.
- Další možnost se využívá především ve sport barech, kdy máme fotbalový přenos a chceme ho zobrazit na vice obrazovkách. K tomu se využije HDMI opakovač. Ten dostává data např. ze satelitního přijímače a posílá je do několika televizorů zároveň.
HDCP při práci
Jak již bylo řečeno, HDCP při ochraně obsahu používá ověřování a šifrování. Před zasláním dat chráněných pomocí HDCP vysílač zahájí ověřovací proces, aby zjistil, zda je přijímač oprávněn data přijmout. Jakmile bude ověření dokončeno, vysílač zašifruje datový přenos (zabrání odposlechu či narušení) a pošle data.

Schéma ukazující přijímače, vysílače a ochranu prostřednictvím klíčů.
Každý HDCP přijímač/vysílač obsahuje:
- Čtyřicet 56bitových tajných klíčů, známých jako Device Private Keys (soukromý klíč přístroje), poskytovaných společností DCP. Jsou unikátní pro každý přijímač/vysílač, přísně tajné a nedostupné pro jiné přístroje.
- Key Selection Vector (KSV), od společnosti DCP. Jde o 20bitovou hodnotu jednoznačně identifikující daný přijímač/vysílač. Jednotlivá zařízení si vyměňují KSV a používají ho během ověřování a šifrování.

Průběh HDCP ověřování.
HDCP ověřování a jeho tři části
První část ověřování: přijímač a vysílač spočítají sdílený tajný klíč, který budou používat pro šifrování a dešifrování dat. Dokončením tohoto procesu přijímač ukazuje, že je držitelem platného tajného klíče, aniž by ho někde zveřejnil.
To se děje v několika krocích, pokud máte zájem o podrobný popis, čtěte i následující tři odstavce. Nejprve vysílač pošle svůj KSV přijímači spolu s náhodně vygenerovanou hodnotou z jeho šifrovacího klíče. Na oplátku dostane KSV přijímače + jeden bit označující, zda je přijímač opakovačem.
Přijímač a vysílač využijí takto získané KSV od jiného zařízení, společně s vlastním soukromým klíčem k vygenerování sdílené tajné hodnoty. Jelikož všechny HDCP klíče jsou matematicky související, spočítaný výsledek bude stejný pro všechny přístroje.
Tato hodnota je tedy tajná a přístroje si ji neposílají mezi sebou přes síť, ale společně s dříve vygenerovanou hodnotou ji přidají do svého šifrovacího HDCP mechanismu. Ten následně vygeneruje tajný klíč pro dané sezení (sezením se zde rozumí dvojice vysílač/přijímač), společně s další hodnotou, kterou přijímač pošle vysílači, čímž ukazuje, že úspěšně dokončil svoji část ověřovacího procesu. Vysílač ji porovná se svojí vlastní hodnotou a při shodě je ověřování úspěšně dokončeno. V tomto okamžiku může vysílač posílat data zašifrovaná pomocí klíče sezení a pouze přijímač je umí dešifrovat.
Druhá část ověřování: nastává, pokud přijímačem bude opakovač. Přijímač pošle do vysílače seznam, jenž obsahuje KSV všech navazujících přijímačů + počet úrovní ve stromu. Vysílač může kontrolovat, aby nebyla překročena maximální velikost stromu + platnost všech zařízení.
Třetí část ověřování: opakuje se pravidelně během přenosu zašifrovaného obsahu. Každé dvě sekundy nebo po 127 snímcích se ověřuje, zda přijímač správně dešifruje obsah, a provádí se synchronizace zařízení.
Šifrování
Po úspěšném ověření vysílač použije svůj šifrovací HDCP mechanismus a sdílený klíč sezení pro vytvoření toku šifrovaných dat, která mohou být dešifrována pouze přijímačem, jenž opět použije šifrovací HDCP mechanismus a kopii sdíleného klíče sezení k dešifrování obsahu.

Výrobce samozřejmě musí otestovat jednotlivé přístroje a jejich spolupráci, k tomu jsou vybudovány laboratoře po celém světě.
Poskytování a případná ztráta klíčů
Aby zařízení podporovalo HDCP ochranu, musí obsahovat HDCP čip. Ten se do přístroje dává během výroby, na ni jsou kladeny vysoké bezpečnostní nároky, jelikož čip obsahuje KSV a Device Private Keys. Výrobce samozřejmě musí mít licenci od DCP dodavatele.
Bezpečnostní systém počítá i s případným odcizením klíče, což může vést k neoprávněnému kopírování obsahu. Pokud něco takového nastane, spustí se mechanismus pro rušení KSV. Je-li přijímači takto zrušen KSV, nemůže dále přijímat HDCP obsah. Běžně se pak na DVD/Blu-ray disky přidává kromě multimediálního obsahu i seznam zrušených klíčů, díky tomu poznáme, zda je naše zařízení v pořádku.