HDCP

Z Wikipedii

Skocz do: nawigacji, szukaj

HDCP (ang. High-bandwidth Digital Content Protection) to 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 umożliwiałaby 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. Kodowanie 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.

Spis treści

[edytuj] Interfejsy obsługujące HDCP

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

[edytuj] Zastosowanie

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 loga "HD ready".

System operacyjny firmy MicrosoftWindows Vista – obsługuje 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.

[edytuj] Proces szyfrowania

Każde licencjonowane urządzenie posiada unikalny 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ń, wtedy nadawca odmawia wysyłania do niego treści wysokiej rozdzielczości.

[edytuj] Kryptoanaliza

5 listopada 2001 roku, 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 jesteśmy w stanie 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.

[edytuj] Linki zewnętrzne