PVP-UAB: Protected Video Path - User-Accessible Bus
Kapitoly článků
Ochrany se samozřejmě dostává i datům na uživatelsky přístupné sběrnici (tedy na PCI Express). Tudíž tato ochrana ve své podstatě není nutná pro grafické karty integrované v čipsetu (tj. typicky v severním můstku).
Ochrana bude zajištěna:
128bitovým AES „Counter Mode“ šifrovacím algoritmem. Z toho vyplývá, že v grafickém čipu bude muset být přítomen hardwarový dešifrovací mechanismus přímo v čipu, ne tedy v driverech. Tato ochrana poběží již v MIG prostředí a pracovat se s ní bude přes uživatelskou komponentu s názvem ProtectedDXVA, která je součástí DirectX Video Acceleration verze 2.0. Tato ochrana není zamířena proti softwarovému útoku na chráněná data, pouze proti „čmuchalům“ na PCI Express sběrnici.
Problémy s šifrováním nekomprimovaného videa
Vzhledem k tomu, že o šifrování dat na vstupní straně se bude starat operační systém a tudíž „to celé“ bude počítat procesor, první potenciální problém je na světě: vysoká zátěž CPU při velkém objemu dat v případě nekomprimovaného videa (Datový tok šifrovaného videa lze očekávat typicky až 50 MB/s). Zkrátka je lepší použít alespoň částečně komprimovaná data, o jejichž dekompresi se posléze postará přímo grafický čip. PVP-UAB také požaduje, aby grafický čip uměl aspoň iDCT a Motion Compensation akceleraci pro MPEG2 a WMV9/VC1 (což umí většina současných karet a v době uvedení Visty bude situace ještě lepší). Microsoft v tuto chvíli dodává že zpracování jiných kodeků je prozatím z výkonového hlediska pro CPU problém, ale v době uvedení Visty na trh by mělo být již vše v pořádku díky hardwarové akceleraci v grafické kartě.
Použití systémové paměti
Jak je to s kartami, využívajícími TurboCache a HyperMemory atd? Microsoft zde uvádí, že limitujícím faktorem pro přehrávání HD videa bude nutnost přenášet data mezi GPU na kartě a grafickou pamětí, alokovanou v operační paměti a to i třeba desetkrát. Šifrovací engine v grafickém čipu pak nemusí výkonově stíhat (ale na praktické testy si asi ještě nějakou dobu počkáme).
K systémové paměti se váže ještě jeden drobný detail. Pokud bude grafická karta takovou paměť využívat, musí být navíc zajištěna patřičná ochrana video/audio dat v této paměti, aby nemohla být „odposlouchávána“ cestou přes nezabezpečenou PCI Express sběrnici. Vyřešení tohoto problému nechává Microsoft v rukou výrobců takových grafických karet.
PVP-UAB sekvence
Celá komunikace v rámci PVP-UAB bude probíhat následovně:
- Kontrola ovladače
- Diffie Hellman - je použit pro nastavení spojení mezi grafickým hardware a ovladačem. Používá se 2048bitový klíč, prozatím však není vyřešena hrozba „man-in-the-middle“ útoku.
- Poté se aplikuje AES Davies-Meyer hash k vytvoření 128bitového session klíče, opět prozatím není vyřešena hrozba „man-in-the-middle“ útoku.
- Následně se provede HFS, který bude používat některé bity z Diffie Hellmanova čísla během autentizace. Po tomto kroku bude již grafický ovladač věřit, že komunikuje se správným kusem hardware.
- Certifikace ovladače - komponenta ProtectedDXVA zkontroluje certifikát ovladače. Od této chvíle i MIG vrstva důvěřuje grafickému hardware.
- ProtectedDXVA komponenta vytvoří obsahový klíč, který pošle grafickému hardware a který je potřebný pro práci s každým novým video streamem o vysokém rozlišení.
- Nakonec se provede zašifrování video streamu za použití obsahového klíče. V tuto chvíli již může být doručováno video MIG vrstvě k zobrazení.
Pro integrované grafické karty to znamená následující: Pokud jsou integrovány v čipsetu a není na PCI Express sběrnici vyveden žádný video port, není potřeba data kvůli průchodu po PCI Express sběrnici šifrovat (nicméně toto nesouvisí s ochranou na výstupech, zajišťovanou PVP-OPM).