Introduzione
Il Contents Scrambling System (CSS), sviluppato nel 1996 da Matsushita, è un sistema che consente di prevenire copie illegali dei DVD. Il sistema CSS comprende tre entità:
il lettore DVD,
il disco DVD,
l’Host.
Il lettore DVD
è collegato all'Host tramite un bus.
U
U
Schema dell'algoritmo CSS
U
Schema dell'algoritmo CSS-1
U
Schema dell'algoritmo CSSAuth
Gli algoritmi di cifratura citati al punto 2, a differenza degli algoritmi citati al punto 3 ed al punto 4, non saranno descritti in questa pubblicazione.
Un attestato di licenza.
Un numero di licenza progressivo che indichiamo con i.
Le specifiche tecniche per la costruzione di circuiti integrati che implementano il sistema.
Un insieme di M
Una chiave segreta, indicata con SecretKey, di 5 byte. Questa chiave va memorizzata in un registro ROM di ogni lettore DVD prodotto e viene utilizzata dai device driver (gestore di dispositivo, software di basso livello associato ad un dispositivo di I/O preposto a gestirne la parte dipendente dall'hardware, definizione presente su "I moderni sistemi operativi" di Andrew S. Tanembaum) che vengono eseguiti sull'Host.
Un attestato di licenza.
Le specifiche tecniche del sistema (algoritmi di cifratura, come produrre i DVD protetti etc).
Tutte le chiavi lettore, ovvero N x M chiavi lettore:
PlayerKeyj appartenente a
A settembre 2003 le industrie licenziate
ammontano a 409. Supponiamo, per esempio, che un'industria
sottoscriva la licenza CSS. A questo punto la DVD CCA rilascia a tale industria oltre l'attestato, le chiavi e le specifiche tecniche anche il
numero di licenza 410.
Di seguito riportiamo lo scenario del sistema.
Scenario del sistema CSS
Le industrie che producono DVD protetti dal sistema CSS associano ad ogni DVD prodotto una chiave del disco DiskKey. DiskKey è una chiave casuale di 40 bit ed è presente sul DVD in forma cifrata indicata con DiskKeyc.
Ogni DVD protetto con il sistema CSS contiene:
I dati audio/video cifrati.
Un'area nascosta detta Hidden Area.
La successiva figura illustra il contenuto della Hidden Area.
Hidden Area di un DVD (full size)
Tale area contiene:
N chiavi disco cifrate, indicate con
dki,
dove 1
Una chiave disco crifrata indicata con DiskKeyc. Dove DiskKeyc=CSSA(DiskKey, DiskKey) e DiskKey è la chiave disco in chiaro.
Un DVD contiene una serie di chiavi titolo legate ognuna ad un file VOB di dati audio/video. Lo scenario viene illustrato nella successiva figura:
Struttura dei file contenuti in un DVD (Full size)
Poiché la dimensione di ogni file VOB non può
superare la dimensione di un gigabyte
(Filesystem
dei DVD), i contenuti audio/video presenti su un DVD vengono spesso divisi in una sequenza di
file VOB. Le industrie che producono DVD associano ad ogni file VOB una chiave
titolo TitleKey. TitleKey è una chiave casuale
di 40 bit. La chiave titolo Titlekey è presente sul DVD nel file
VOB in forma cifrata indicata con TitleKeyc.
Ogni file VOB, inoltre, è suddiviso in settori. Ogni settore ha una dimensione di 2048 byte di dati audio/video. I primi 128 byte di dati sono in chiaro, mentre i successivi byte sono cifrati. La chiave settore SectorKey è determinata mediante un'operazione di XOR tra la chiave titolo TitleKey e 5 byte di dati in chiaro prelevati dall'intestazione del settore di 128 byte. La chiave settore SectorKey è di 5 byte.