Przejdź do zawartości

HDCP

Z Wikipedii, wolnej encyklopedii

HDCP (ang. High-bandwidth Digital Content Protection) – opracowany przez firmę Intel mechanizm pozwalający na kontrolę przesyłania dźwięku i obrazu w formie danych cyfrowych pomiędzy dwoma urządzeniami. Głównym celem HDCP jest uniemożliwienie przesyłania treści w wysokiej rozdzielczości w postaci, która pozwalałaby na utworzenie nieautoryzowanych kopii.

Specyfikacja HDCP jest prawnie zastrzeżona, a jej implementacja w urządzeniu wymaga nabycia przez producenta licencji. Oprócz uiszczenia opłaty licencyjnej, licencjobiorca zgadza się na ograniczenie funkcjonalności swoich produktów. Jednym z wymogów jest uniemożliwienie urządzeniu wykonania kopii materiału. Inne ograniczenia wynikają z następujących procesów:

  1. Proces uwierzytelniania uniemożliwia nielicencjonowanym urządzeniom otrzymywania treści wysokiej rozdzielczości (obraz ograniczany jest do jakości DVD natomiast dźwięk ograniczany do jakości właściwej dla formatu DAT).
  2. Szyfrowanie przesyłanych treści zapobiega podglądaniu danych. Zapobiega także przed atakiem typu „man in the middle”.
  3. Procedura unieważniania klucza zapewnia, że urządzenia producentów, którzy łamią postanowienia licencji, mogą być stosunkowo łatwo blokowane przed otrzymywaniem treści wysokiej rozdzielczości.

Interfejsy obsługujące HDCP

[edytuj | edytuj kod]

W zależności od wersji, technika HDCP może być używana w różnych interfejsach:

Wersja HDCP Obsługiwane interfejsy
1.0 DVI
1.1 DVI, HDMI
1.2 DVI, HDMI
1.3 DVI, HDMI, UDI, GVIF, DP, WHDI
2.0 niezależna od interfejsu

Od wersji 2.0 technika HDCP jest niezależna od zastosowanego interfejsu. Może być stosowana dla interfejsów przewodowych jak i bezprzewodowych np. Wi-Fi, Ethernet i USB

Zastosowanie

[edytuj | edytuj kod]
Fragment płyty głównej Apple TV 1. generacji, w której został zastosowany HDCP.

Odtwarzacze dysków HD DVD i Blu-ray pozwalają na ustawianie flagi ICT (ang. Image Constraint Token) przez dostawców treści na wydawanych przez nich dyskach. Flaga ta zezwala na ich odtwarzanie w wysokiej rozdzielczości, tylko używając HDCP. Podobne zabezpieczenie może być używane przez nadawców telewizji cyfrowej.

Obsługiwanie przez urządzenie standardu HDCP jest jednym z wymogów otrzymania logo „HD ready”.

Systemy operacyjne firmy MicrosoftWindows Vista i Windows 7 – obsługują ten standard przy przesyłaniu obrazu pomiędzy kartą graficzną a monitorem.

HDCP może powodować problemy w odbiorze, szczególnie przez starsze odbiorniki. Aby temu zaradzić, pojawiły się na rynku urządzenia (ang. HDCP stripper) umożliwiające wyświetlenie zabezpieczonej treści na odbiornikach nie posiadających zaimplementowanego HDCP. Dostępne są one w formie filtrów podłączanych pomiędzy urządzeniem wysyłającym a odbiornikiem, powodują one usunięcie szyfrowania z przesyłanego sygnału.

Proces szyfrowania

[edytuj | edytuj kod]

Każde licencjonowane urządzenie posiada unikatowy zestaw czterdziestu 56-bitowych kluczy. Klucze te są poufne, a ujawnienie ich może być uznane za pogwałcenie umowy licencyjnej. Dla każdego zestawu kluczy zostaje utworzony specjalny klucz nazywany KSV (ang. Key Selection Vector). Każdy klucz KSV ma 20 bitów ustawionych na 0 i 20 bitów ustawionych na 1.

Nawiązanie połączenia rozpoczyna się od procesu nazywanego handshake, podczas którego urządzenia wymieniają się kluczami KSV. Następnie każde z nich dodaje (bez przepełnienia) swoje własne klucze do siebie według klucza KSV otrzymanego od drugiego urządzenia. Jeśli bit w kluczu KSV jest ustawiony na 1, to odpowiadający mu klucz jest uwzględniany w dodawaniu, w przeciwnym przypadku jest pomijany. Klucze oraz KSV są generowane w taki sposób, aby oba urządzenia otrzymały w wyniku dodawania taką samą 56-bitową liczbę. Ten numer jest później używany w procesie szyfrowania.

Szyfrowanie jest wykonywane poprzez szyfr strumieniowy. Każdy piksel jest szyfrowany za pomocą operacji XOR z 24-bitowym numerem wyprodukowanym przez generator. Specyfikacja HDCP zapewnia stałe uaktualnianie kluczy (po każdej zakodowanej klatce obrazu).

Jeżeli jakieś urządzenie uznane zostanie za „złamane”, czyli jego klucze zostaną ujawnione, wtedy jego klucz KSV zostaje umieszczony na liście unieważnień, która jest umieszczana np. na nowo wyprodukowanych dyskach z zawartością wysokiej rozdzielczości. Każda lista unieważnień jest cyfrowo podpisana, używając algorytmu DSA, aby zapobiec unieważnianiu poprawnych kluczy przez złośliwych użytkowników. Podczas uwierzytelniania, jeżeli klucz KSV odbiorcy zostanie znaleziony przez nadawcę na liście unieważnień, nadawca odmawia wysyłania do niego treści wysokiej rozdzielczości.

Kryptoanaliza

[edytuj | edytuj kod]

5 listopada 2001, jeszcze przed zaimplementowaniem HDCP w jakimkolwiek komercyjnym urządzeniu, Scott Crosby, Ian Goldberg, Robert Johnson, Dawn Song oraz David Wagner zaprezentowali na warsztatach ACM-CCS8 DRM publikację pod tytułem „A Cryptanalysis of the High-bandwidth Digital Content Protection System”. Przedstawili w niej praktyczny sposób ataku na algorytm HDCP. Według publikacji do całkowitego ominięcia zastosowanych zabezpieczeń potrzebne są klucze (czterdzieści 56-bitowych kluczy i klucz KSV) z 40 urządzeń. Klucze mogą zostać uzyskane na wiele sposobów np. poprzez inżynierię odwrotną urządzenia. Posiadając je, można w ciągu kilku sekund odtworzyć główną macierz służącą do generowania kluczy dla wszystkich urządzeń. Możliwe jest wtedy podglądanie przesyłanych danych, klonowanie urządzeń posiadając jedynie jego klucz publiczny, omijanie blokady urządzeń znajdujących się na czarnej liście oraz oczywiście tworzenie nowych kluczy urządzeń, wszystko to w czasie rzeczywistym.

Mniej więcej w tym samym czasie kryptolog Niels Ferguson niezależnie od innych oświadczył, że złamał algorytm szyfrowania HDCP, lecz nie opublikuje swoich badań ze względu na obowiązującą w USA ustawę Digital Millenium Copyright Act.

Ujawnienie klucza głównego

[edytuj | edytuj kod]

14 września 2010 za pomocą serwisu Twitter upubliczniony został klucz główny HDCP i instrukcja jego użycia. Nie jest jasne, kto i w jaki sposób odkrył klucz. Serwis Engadget zasugerował, że mogła zostać użyta metoda odkryta w 2001 roku w celu odtworzenia klucza głównego. 16 września firma Intel potwierdziła, że klucz został złamany i zagroziła, że podejmie wszelkie dostępne środki prawne przeciwko każdemu, kto wyprodukuje urządzenia umożliwiające obejście zabezpieczeń HDCP.

Dzięki upublicznieniu klucza głównego możliwe jest generowanie kluczy dla urządzeń bez potrzeby otrzymywania ich od wydawcy, powoduje to, że cała procedura unieważnienia kluczy urządzeń staje się nieskuteczna.

Linki zewnętrzne

[edytuj | edytuj kod]