# HDCP

HDCP (acronimo dell'inglese High-Bandwidth Digital Content Protection), è il sistema di protezione DRM sviluppato dalla Intel per HD DVD e Blu-ray Disc, atto a impedire fenomeni di pirateria eseguiti attraverso il metodo man in the middle. Il sistema è implementato su connessioni digitali (DVI e HDMI) che solitamente trasportano audio/video in alta definizione protetto da copyright. Il sistema codifica i flussi audio e video che vengono trasferiti da un dispositivo a un altro (solitamente un decoder, un lettore Blu-ray o un lettore HD DVD verso un televisore HD oppure Full HD), impedendo che durante il tragitto un malintenzionato possa copiarli e salvarli su un dispositivo di memoria senza il permesso del detentore del copyright.

## Protocolli supportati

| Versione HDCP | Data di rilascio | Interfacce supportate |
| 1.0 | 17 febbraio 2000 | DVI |
| 1.1 | 9 gennaio 2003 | DVI, HDMI |
| 1.2 | 13 giugno 2006 | DVI, HDMI |
| 1.3 | 21 dicembre 2006 | DVI, HDMI, DP, GVIF, UDI |
| 1.4 | 8 luglio 2009 | |
| 2.0 | 23 ottobre 2008 | Adattativo, supporta qualsiasi interfaccia IP-based, compressa o non compressa |
| 2.1 | 18 luglio 2011 | Nuovo meccanismo per gestire il contenuto Type 1, Non bisogna risolvere l'intero albero HDMI all'aggiunta di un nuovo dispositivo HDMI |
| 2.2 per HDMI | 13 febbraio 2013 | Versione specificamente sviluppata per lo standard 4K, non compatibile con i precedenti |
| 2.2 per MHL | 11 settembre 2013 | Versione specificamente sviluppata per lo standard 4K, non compatibile con i precedenti |
| 2.3 per HDMI | 28 febbraio 2018 | Versione specificamente sviluppata per lo standard 4K, non compatibile con i precedenti |

## Specifiche

Al fine di impedire un accesso non autorizzato e non controllato ai dati protetti, il sistema implementa i seguenti metodi:
* Gestisce un sistema di autenticazione in modo da impedire a dispositivi non autorizzati (che non usano la tecnologia HDCP) di accedere ai contenuti protetti, restituendo uno schermo nero o un messaggio di errore. Questo ha portato la quasi totalità dei televisori in alta definizione a supportare questo formato di protezione.
* Per trasmettere i dati protetti utilizza la crittografia, in modo da evitare che il segnale possa essere intercettato (man in the middle).
* Le chiavi crittografiche possono essere revocate nel caso in cui un dispositivo sia compromesso, in modo da escluderlo dal sistema.
Ogni dispositivo HDCP ha a disposizione un unico set di 40 chiavi crittografiche, ciascuna lunga 56 bit. Le chiavi sono confidenziali, e l'incapacità di tenerle segrete può essere vista come una violazione del contratto di licenza che un produttore deve firmare per utilizzare il sistema HDCP.
La crittografia è eseguita direttamente sul flusso dei dati. Ogni pixel viene crittografato mediante l'applicazione di un XOR con un numero a 24 bit prodotto da un algoritmo. Le specifiche HDCP garantiscono il costante aggiornamento delle chiavi dopo ogni fotogramma.
Se un particolare set di chiavi è compromesso, viene inserito in una lista nera che viene trasmessa al dispositivo che invia i dati (decoder o lettore), il quale si rifiuterà di trasmettere i contenuti protetti al dispositivo in ricezione (televisore) che utilizza quelle chiavi.

## HDCP Crackato

Nel 2001 Niels Ferguson, crittografo olandese, disse di aver calcolato la master key del sistema, quella cioè in grado di generare tutte le altre chiavi private, ma non l'avrebbe divulgata per paura delle conseguenze legali. Nel settembre 2010 un utente anonimo ha pubblicato sul sito pastebin.com una chiave ritenuta essere proprio la master key. La notizia ha ottenuto credibilità in seguito a una conferma fatta da Tom Waldrop, portavoce della stessa Intel. La conseguenza ritenuta più probabile è che i produttori hardware potranno integrare tale chiave nei chip e commercializzare apparecchi senza pagare royalty.
A dicembre 2015 viene confermata l'ipotesi che anche la versione 2.2 sia stata craccata giacché già da agosto circolavano versione 4k di episodi di serie televisive statunitensi da quanto riferisce il sito TorrentFreak.