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:
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ů:
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í.
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:
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:
Průběh HDCP ověřování.
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í.
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ě.
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.
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.