Progetto realizzato da : Falcone Fabio matricola 723332 Docende del corso : Stelvio Cimato
Introduzione.
Oggi la sicurezza di qualsiasi sistema di comunicazione diventata una esigenza importante per garantire servizi e funzionalit promesse . Le persone che operano nel settore della sicurezza cercano costantemente soluzioni per prevenire, dove questo possibile, arginare e rimediare ai danni degli attacchi conosciuti e immaginare le nuove minacce che possono un giorno presentarsi allorizzonte.In questo documento si descrivono i meccanismi di sicurezza finora previsti per la televisione digitale terrestre (DVB-T).
canali televisivi terrestri, ad altri servizi diffusivi (data broadcasting) o di telecomunicazione (servizi interattivi mobili) o da ripartire tra le diverse funzioni. Lofferta di una serie di servizi aggiuntivi di tipo interattivo accessibili tramite il televisore. Il decoder digitale (STB set-top box) da applicare al normale televisore, o il televisore digitale integrato nelle versioni pi evolute, ha capacit di memoria e di elaborazione tali da trattare e immagazzinare le informazioni: equipaggiato con piattaforma multimediale MHP. Questa piattaforma permette lesecuzione di applicazioni web e interattive.Lutente le pu acquisire semplicemente collegando l'apparecchio alla lineatelefonica domestica. Ci significa che anche nelle case prive di personal computer sar possibile accedere all'insieme dei servizi associati a Internet. La progressiva sostituzione degli attuali mezzi analogici di produzione, trasmissione e ricezione televisiva con una nuova generazione di mezzi digitali. lecito supporre che nell'arco dei prossimi 10-15 anni, nella maggior parte dei paesi europei, le reti di trasmissione televisiva, via terra, via cavo o via satellite, saranno completamente digitali.
2. MPEG-2 e DVB-SI.
Lo standard MPEG-2 declinazione della famiglia di standard del gruppo MPEG (Moving Picture Experts Group), approvato definitivamente nel novembre 1994 definisce i criteri della codifica delle informazioni (audio/video e dati), della loro sincronizzazione, dei formati di trasporto dei bit streams,sintassi esemantica delle tabelle ad essi associate. Le sue caratteristiche lo hanno reso, in breve tempo, lo standard per la trasmissione su grandi network,l'archiviazione e la memorizzazione di flussi multimediali. MPEG-2 in grado di operare con differenti bit-rate e canali di trasmissione, formati di immagazzinamento, sistemi a ritardo costante o variabile, compensando la complessit con una grande flessibilit. In MPEG-2, infatti, non vengono specificati i metodi di codifica da utilizzare,i processi di codifica,i dettagli del codificatore o del decodificatore, bens solo i formati di rappresentazione dei dati allingresso del decodificatore, le regole ed i processi di decodifica.Questa scelta stata dettata dal fatto che differenti codificatori possono avere complessit diverse in base alle applicazioni a cui sono destinati, con un conseguente, continuo, miglioramento dei sistemi di codifica. Per riassumere, le motivazioni che hanno portato questa codifica audio e video ad essere scelta come base per i sistemi di broadcasting e storaging sono: l'efficienza del codificatore, l'alta scalabilit e la definizione di flussi di bits multiprogramma. Pi in dettaglio: Codec molto efficiente - Un segnale TV PAL pu essere codificato con un bit-rate compresso di 4-5 Mbit/s. Alta scalabilit, definita da una matrice di livelli e profili - Risoluzioni da 360x288 fino a 1920x1152 (HDTV wide screen) con vari gradi di libert nella scelta della tecnica di codifica (in Europa le trasmissioni TV sono nella fascia MP@ML (Main Profile at Main Level) che corrisponde allutilizzo di frames IPB, a un campionamento 4:2:0 e ad una risoluzione di 720x576 a 25 Hz). Creazione di flussi multiprogramma MPEG-2, denominati Transport Streams.
Questo tipo di multiplexing fa in modo che gli ES possano essere trasmessi sia ad un bit-rate costante (CBR) sia ad un bit-rate variabile (VBR) semplicemente variando appropriatamente la lunghezza o la frequenza dei pacchetti. Al termine del processo di multiplexing si ottiene uno stream continuo, senza restrizioni di bit-rate, variabile o costante, ma sempre uguale o superiore al totale dei bit-rate degli ES che lo costituiscono. MPEG-2 Systems definisce due stream differenti come risultato del processo di multiplexing: il Transport Stream (TS) e il Program Stream (PS), ciascuno ottimizzato per un preciso contesto. Il Transport Stream pu contenere uno o pi programmi TV, ognuno con la propria base temporale indipendente. Il risultato il multiplexing degli ES che costituiscono i differenti programmi attraverso lutilizzo di pacchetti (TS packet) a lunghezza fissa di 188 byte. La lunghezza di questi pacchetti infatti adatta ai processi basati su hardware e permette inoltre di ottenere la solidit necessaria per la trasmissione di video e audio compresso attraverso canali disturbati e soggetti all'introduzione di errori. Attualmente il TS progettato per supportare molte funzionalit come il multiplexing asincrono di programmi, un accesso rapido al programma desiderato quando si cambia canale, una corretta sincronizzazione degli ES durante la riproduzione e il controllo dei buffers del decodificatore durante linizializzazione e la riproduzione, sia dei programmi con bit-rate costante che di quelli con bit-rate variabile. Poich le strutture del PS e del TS non seguono strettamente un modello a livelli, ragionevolmente possibile convertire luno nellaltro grazie allutilizzo comune dei pacchetti PES. Non tutti i campi necessari in un PS sono per contenuti in un TS e viceversa, pertanto quelli mancanti devono essere derivati durante il processo di conversione.
2.6 Multiplexing.
Come visto, con il multiplexing vengono combinati e allineati tutti i pacchetti TS, compresi quelli contenenti dati privati o specifici al programma, ottenendo come risultato un unico flusso TS. Lunica restrizione definita dallo standard per lordine di ricombinazione che sia preservato lordine sequenziale tra pacchetti di uno stesso ES. Il bit-rate di un TS pu essere variabile o costante ed ha un valore minimo pari alla somma dei bit-rate di tutti gli ES contribuenti. A loro volta, gli ES possono avere un bit-rate variabile, anche se il TS risultante ha un bit-rate costante. Questa caratteristica permette di realizzare quello che definito multiplexing statistico, ovvero la possibilit, da parte degli ES che in un determinato istante non richiedono un bit-rate elevato, di cedere la propria porzione di banda a quelli a pi alto bit-rate. Questo espediente porta allinserimento di pacchetti vuoti (null packets) per mantenere costante il bit-rate nel caso in cui si debbano comprimere immagini non particolarmente complicate o se il bit-rate richiesto inferiore a quello del TS. Un Transport Stream MPEG-2 richiede un canale di trasmissione con una capacit di 38 Mbit/s utili e conterr dai quattro ai sette programmi, ciascuno composto da un video, due o tre canali audio e talvolta altri dati in formato di sottotitoli, teletext o altro. Ogni Elementary Stream video avr normalmente un bit-rate tra 4 e 5 Mbit/s, ogni ES audio tra i 128 e 256 Kbps. Non esistendo apparecchi con 20-30 ingressi audio e video che possano generare Transport Stream con pi programmi, si ricorre di solito alla tecnica del re-multiplexing. Con questa procedura possibile suddividere in due stadi il multiplexing, cos da generare un Transport Stream contenente pi programmi. Le specifiche del MPEG-2 Systems terminano nel Transport Stream. Ci comporta che da questo punto ogni TS viene adattato alla rete e al canale di trasmissione su cui viene trasmesso. Ad esempio, nel caso di network a diffusione broadcast, lo standard DVB in Europa e il ASTC in USA a prendersi carico del TS.
costituiscono la PSI o Program Specific Information, un insieme di dati strutturati in quattro tabelle: Program Association Table (PAT): stabilisce la corrispondenza tra un programma e il PID dei pacchetti TS che trasportano la definizione di tale programma (PMT). Ogni stream TS deve contenere una PAT valida e completa, e mai criptata. Program Map Table (PMT): stabilisce una mappa di relazioni tra il programma e gli elementi (audio video, dati) che lo compongono. Network Information Table (NIT): i contenuti della NIT sono privati, e non gestiti da MPEG-2 che li lascia a disposizione dell'utente. In generale conterranno le mappe dei servizi messe in relazione agli PID dei TS, frequenze di canale, numeri di transponder del satellite, caratteristiche di modulazione ecc. Conditional Acces Table (CAT): stabilisce lassociazione fra uno o pi sistemi daccesso condizionato, i relativi EMM stream e qualsiasi altro parametro speciale associato ad essi.
Le tabelle vengono trasmesse tramite sezioni MPEG 2 private allinterno di pacchetti TS aventi un PID particolare e fissato, ciclicamente e con una frequenza di ripetizione piuttosto elevata (20 50 volte al secondo), per consentire al decodificatore di accedere rapidamente al programma richiesto.
3 Set TopBox.
Il Set Top Box (STB) l'apparato domestico di ricezione a cui affidato il compito di convertire il segnale digitale in un formato compatibile con le televisioni analogiche comunemente utilizzate : la sua configurazione hardware ed il software installato determinano i servizi di cui un telespettatore pu usufruire ed anche con quale grado di soddisfazione. In altre parole, a parit di standard di trasmissione digitale, le performance del decoder risultano decisive per il successo o meno di un qualunque servizio. Non pi distintiva una buona resa audio e video, ormai requisito minimo. Lo diventano, invece, sia i servizi disponibili, che le performance del STB, come ad esempio il tempo impiegato per sintonizzarsi su un diverso canale, o per fornire informazioni su un evento. Alcuni dei paesi che hanno aderito allo standard DVB hanno pubblicato documenti di specifiche tecniche riguardanti il ricevitore in cui, partendo dai requisiti minimi richiesti dallo standard, si definiscono I profili adatti allo specifico mercato nazionale. In Italia, un consorzio di aziende formato dai tre principali broadcasters italiani, RAI, Mediaset e TV Internazionale (Telecom) e dalla Fondazione Ugo Bordoni (incaricata di coordinare le sperimentazioni relative al T-Government) ha fondato DGTVi, con lo scopo di indirizzare il processo di sviluppo della TV digitale.
Software Applicativo ( EPG, Teletext avanzato, ecc. ) API Software Residenti ( Sistema Operativo, Navigatore SI, Java,browser XML ed HTML, ecc. ) Hardware e Firmware (microprocessore, memorie RAM e Flash, bootloader, componenti di codifica, decodifica e interfacce esterne ) Architettura Set Top Box Al livello pi basso dello stack troviamo la composizione hardware e firmware del STB. Questo livello comprende il Microprocessore, i differenti tipi di memoria, il bootloader, gli apparati di decodifica e le interfacce con l'esterno, sia in input che in output. Al livello superiore si colloca il software residente, come quello del Sistema Operativo, solitamente proprietario, i software di servizio, come ad esempio quello di gestione della navigazione, ed il middleware. Il soprastante strato di interfacciamento, l'Application Programming Interface (API), fornisce infine al livello Applicativo la capacit di interagire con il software residente e con le risorse del sistema. Architettura Hardware Architettura Software
In base alla descrizione funzionale, possiamo distinguere nell'architettura hardware di un STB, i seguenti principali componenti: il Front-end, composto da un Sintonizzatore, un Convertitore Analogico/Digitale, un Demodulatore, un modulo per il controllo dell'errore (FEC) il Demultiplexer il Descrambler, opzionale, interagente col Demultiplexer i Decodificatori per Video, Audio e Dati l'Unit di controllo, composta da un Microprocessore, un Bootloader, le memorie ROM, RAM e Flash un Processore Grafico, opzionale, con memoria RAM Video i Codificatori Audio e Video per l'output dei segnali le interfacce standard, come ad esempio SCART e PAL le interfacce opzionali, come la Common Interface per l'accesso condizionato, il lettore di Smart Card, il Modem o un'interfaccia Ethernet.
Applicazioni di servizio (scaricabili e aggiornabili) Livello API del Middleware Applicazioni residenti
Middleware
Livello API del Sistema Operativo Sistema Operativo (Realtime) Livello di astrazione hardware Drivers dei dispositivi hardware
Aree Applicative e Livelli dei Profili MHP Le caratteristiche di interattivit del primo profilo definito, l'Enhanced Broadcast [28], risultano limitate alle applicazioni residenti ed a quelle ricevute secondo le modalit di trasporto broadcast, con una comunicazione, quindi, di tipo unidirezionale. L'interattivit perci solo locale e si concretizza prevalentemente attraverso l'uso di un telecomando (o altro apparato analogo). L'utente pu cos attivare programmi accessori, come l'EPG, il Teletext avanzato, servizi di news e giochi, navigare sullo schermo TV ed interrogarli, ottenendo risposte in forma di immagini, video ed informazioni. I protocolli di trasporto disponibili per la trasmissione broadcast, sono le Sezioni MPEG-2 ed il DSM-CC User-to-User Object Carousel, mentre considerato opzionale lo stack IP Multicast. I protocolli di trasporto saranno descritti pi avanti, in questo stesso capitolo. Poich la prima realizzazione di MHP aveva tra i suoi principali obiettivi anche quello di fornire un supporto alle applicazioni software non native, gi nel primo profilo fu prevista la possibilit di impiego di specifici plug-in. Il profilo Interactive Broadcast mantiene inalterato l'insieme dei protocolli di trasporto broadcast del profilo precedente, ma viene consigliata l'adozione del supporto Java allo stack IP Multicast. La differenza sostanziale riguarda invece l'interattivit, che questa volta prevede un canale di ritorno bidirezionale per la comunicazione tra l'utente ed il broadcaster. Tra i protocolli da utilizzare troviamo HTTP, lo stack TCP/IP ed un ibrido tra la trasmissione broadcast ed il canale interattivo, DSM-CC e HTTP. Viene aggiunto, anche se in forma opzionale, un insieme di protocolli della famiglia DSM-CC, cos come vengono inseriti anche i packages delle API Java necessari all'impiego del canale di ritorno ed alla sua sicurezza. Per quanto riguarda le applicazioni, viene introdotto un nuovo standard, DVB-HTML, con l'obiettivo di aumentare l'affinit tra il mondo Web e la TV interattiva, in grado di realizzare un'interfaccia ipertestuale paragonabile ad un super teletext. In tal senso viene specificato un supporto Java in grado di inserire Xlets in pagine DVB-HTML di applicazioni DVB-HTML, valido per tutti e tre i profili. Il profilo Internet Access fornisce un'interattivit completa con il mondo Internet grazie alla definizione delle interfacce dalla piattaforma DVB-Java alle applicazioni client Internet. Nei protocolli broadcast diventa
mandataria la presenza dello stack IP Multicast, cos come, sul lato del STB, quella dei packages di API Java corrispondenti, che si sommano a quelli gi presenti per la gestione della comunicazione sul canale di ritorno e la sua sicurezza. Viene inoltre inserito un supporto Java e DVB HTML specifico per l'accesso a Internet, che permette ora di accedere a diversi servizi: navigare con un browser Web, inviare posta elettronica, partecipare a newsgroup tramite Usenet. Il lettore di smart card diventa, con questo profilo e la versione 1.1.2 di MHP, non ancora rilasciata, ma comunemente accettata, uno strumento adatto a lanciare i primi servizi di T-Government ed i futuri servizi bancari e di commercio elettronico, sfruttando appieno l'esperienza maturata nel campo della sicurezza su Internet. Non solo, l'uso del canale internet pu offrire la possibilit di scaricare nuove applicazioni, giochi, informazioni, non solo dal broadcaster televisivo, ma anche da un Interactive Service Provider (ISP), non esattamente un Internet Service Provider, anche se i ruoli sono destinati a coincidere. L'ISP cui si fa riferimento in questo contesto l'interfaccia verso il broadcaster ed uno dei nuovi attori in gioco in questo contesto.
4.2 Architettura.
L'architettura MHP rappresentabile con uno stack a tre livelli, composto dalle risorse, dal software di sistema e dalle applicazioni . Riprendendo il discorso sull'architettura di un generico Set Top Box ricordiamo, tra le risorse, gli apparati per il processo di stream MPEG-2, i devices di I/O, la CPU e le memorie.
Architettura MHP Il software di sistema fornisce una visione astratta delle risorse alle applicazioni, isolandole dall'hardware e garantendone in questo modo la portabilit. Sempre nel software di sistema troviamo la Java Virtual Machine (JVM), il cui compito primario la traduzione delle istruzioni dal formato Java bytecode al codice macchina. I bytecodes possono anche non risiedere in modo permanente nel STB ma, grazie alle loro ridotte dimensioni, possono essere scaricati quando necessario e rimossi al termine dell'esecuzione dal meccanismo di garbage collection della JVM. La gestione del ciclo di vita di tutte le applicazioni MHP, non solo quelle DVB-J, demandata all'Application Manager, sulla base delle informazioni di segnalazione contenute nei Transport Streams MPEG-2. L'Application Manager definito anche Navigatore.
Un approccio consiste nel considerare tre aspetti della sicurezza delle informazioni :
Attacco alla sicurezza : ogni azione che compromette le informazioni di un sistema. Meccanismo di sicurezza : un meccanismo progettato per rilevare, prevenire o riparare i danni prodotti da un attacco. Servizio di sicurezza : un servizio che migliora la sicurezza del trasferimento dei dati. I servizi intendono proteggere il sistema contro gli attacchi alla sicurezza sfruttando uno o pi meccanismi di sicurezza.
5.2.2 Autenticazione.
Il servizio di autenticazione cerca di assicurare che una comunicazione sia autentica : necessario che il destinatario sia certo della sorgente del messaggio. Innanzitutto il servizio garantisce che le due entit siano autentiche; in secondo luogo il servizio deve garantire che il canale di comunicazione non abbia interferenze, ovvero che non sia possibile per un terzo individuo fingersi una delle due parti legittime. Due servizi specifici di autenticazione sono definiti. Autenticazione dellentit peer : garantisce lidentit di unentit. Autenticazione dei dati dorigine : garantisce lorigine di ununit di dati.
estraendone i dati a cui interessata. Laltro aspetto delle segretezza oppure confidenzialit la protezione del flusso dati dallanalisi. In pratica un estraneo non deve essere in grado di osservare lorigine e la destinazione, la frequenza, la lunghezza dei messaggi o altre caratteristiche del traffico che si svolge sul canale di comunicazione protetto. Queste informazioni potrebbe aiutare il crittoanalista che tenta di attaccare il sistema.
5.2.7 Affidabilit.
Il servizio di affidabilit garantisce la robustezza ai guasti del sistema. Ogni possibile guasto del sistema deve essere seguito dalladeguata riparazione, in modo del tutto trasparente per lutente. Un esempio possibile sono eventuali crashes del sistema.
5.2.8 Disponibilit.
La disponibilit la propriet di un sistema o di una risorsa di essere accessibile ed utilizzabile su richiesta di entit autorizzate in base alle specifiche prestazionali (always on). Diversi attacchi sono capaci di disabilitare un sistema, essenzialmente attacchi di tipo DOS Denial Of Service .
5.4 Utente.
Lutente della televisione digitale terrestre rappresenta il consumatore finale a cui indirizzato il servizio. Per cui lutente essenzialmente interessato ad usufruire del servizio per cui abilitato. Il servizio deve essere dunque affidabile e costantemente disponibile, in modo che i problemi possibili in trasmissione risultino trasparenti allutente. Si deve garantire disponibilit e accesso alle risorse che lutente abilitato ad usare. Nel caso del servizio Pay Per View, la disponibilit deve essere quasi immediata. Il cliente desidera garanzie per la protezione dei dati personali che il sistema gestisce. La preoccupazione centrale la protezione della privacy. necessario assicurare confidenzialit dei dati sensibili dellutente (come PIN, numero di carta di credito) che vengono salvati in MHP oppure inviati. La sicurezza dei dati nel terminale MHP deve essere garantita : non bisogna permettere ad una applicazione della piattaforma di avere accesso non disciplinato ai dati di utente
immagazzinati. Laccesso ai dati personali deve essere impedito anche ad un qualsiasi dispositivo esterno.
5.5 Broadcaster.
Il broadcaster loperatore di rete che si occupa del trasporto dellinformazione tra utente e service provider. Il broadcaster responsabile delloperativit del canale, per cui il compito principale consta nel mantenere linformazione trasportata sicura. Il flusso dati inviato deve essere crittografato, soprattutto se via etere. Infatti il segnale radio pu essere ricevuto da tutti, anche da utenti non autorizzati; per questa ragione deve essere difficile recuperare il flusso utile da quello ricevuto. Per quanto riguarda il canale di ritorno, la rete IP e la rete di trasporto su cui si poggia devono essere sicure. Il canale gestito dal broadcaster deve essere affidabile e disponibile in modo continuo, per cui necessario evitare di rendersi vulnerabili ad attacchi mirati a renderlo inutilizzabile. necessario evitare qualsiasi uso improprio del canale da parte di entit non autorizzate
Sistema di scrambling Lo scrambling pu essere effettuato sia a livello di Transport Stream (TS) che nel formato di Packetised Elementary Stream (PES), secondo un preciso schema di mappatura realizzato per fornire sempre al trasporto un pac chetto nella forma TS. Nel primo caso, quello del Transport Stream, l'ope razione di scrambling verr eseguita dopo il multiplexing, altrimenti, nel caso del formato PES, prima. Chiaramente questa scelta influenzer anche l'ordine di esecuzione dell'operazione inversa di descrambling. Nell'indicare i flussi funzionali viene qui utilizzato uno schema basato sulla codifica a livello di Transport Stream, ma l'inversione della sequenza scrambler-multiplexer non modifica la coerenza del discorso.
Entrambi i cifrari utilizzano la stessa chiave; il cifrario a flusso usa un nonce supplementare a 64-bit, derivato dall'ultimo output della codifica a blocchi.
L'intestazione di un pacchetto PES codificato non pu essere suddivisa su pi pacchetti TS. Il pacchetto TS che trasporta l'inizio di un pacchetto PES codificato riempito dall'intestazione del PES e dalla prima parte del suo payload. In questo modo, la prima parte del payload del pacchetto PES codificato esattamente come un pacchetto TS con un payload di ana loga dimensione. La parte restante del payload del pacchetto PES scom posta in super-blocchi di 184 bytes. Ogni super-blocco codificato esattamente come payload di un pacchet to TS di 184 byte. La fine del payload del pacchetto PES allineata ri spetto alla fine del pacchetto TS (come richiesto da ISO/IEC 13818-1 [4]) inserendo un campo di adattamento della dimensione necessaria. Se la lunghezza di un pacchetto PES non un multiplo di 184 byte, l'ultima par te del payload del pacchetto PES (da 1 a 183 bytes) codificato esattamen te come un pacchetto TS con un payload di dimensione simile. Il metodo di scrambling a livello di PES pone alcuni vincoli al processo di multiplexing per rendere il processo di descrambling pi semplice ed evitare di aumentare la complessit nella realizzazione dei ricevitori. In sintesi, le raccomandazioni per l'inserimento di pacchetti PES codificati all'interno di pacchetti TS sono: Lo scrambling deve essere realizzato ad un solo livello per volta, TS o PES, ma mai simultaneamente. L'intestazione di un pacchetto PES codificato non pu superare i 184 bytes. I pacchetti TS contenenti parti di un pacchetto PES codificato non pos sono contenere campi di adattamento, con l'eccezione del pacchetto TS contenente la fine del pacchetto PES. Il pacchetto TS che trasporta la fine di un pacchetto PES codificato, pu contenere un campo di adattamento per allineare la fine dei due pacchetti.
Questo metodo pu generare un certo overhead nella velocit di trasferimento dei dati, nel caso in cui si utilizzino i campi di adattamento. In questo caso sar necessario inserire un ulteriore pacchetto TS contenente soltanto un campo di adattamento.
Quando il descrambler si trova nella condizione di dover decodificare con temporaneamente parecchi servizi, memorizza una lista di Control Words abbinate ai PID dei pacchetti di cui richiesta la decodifica. Per ottimizzare i processi di decodifica, il descrambler non interviene su tutti quei pacchetti TS e PES i cui flag, transport_scrambling_control e PES_scrambling_control, siano impostati a 00; quanto detto vale anche nel caso in cui il PID risulti abbinato ad una Control Word all'interno della lista [40].
Un sistema di controllo dell'Accesso Condizionato collocato nel ricevi tore, che, dopo la verifica delle necessarie autorizzazioni di cui sopra, avvia il processo di descrambling e riporta in chiaro i contenuti.
Il gruppo DVB Project ha fatto la scelta ben precisa di non standardizzare i due sistemi, SMS e SAS, affinch rimanesse ai produttori la massima libert nello sviluppo delle proprie soluzioni.
6 Sicurezza MHP.
Il sistema di sicurezza DVB definito per la piattaforma MHP investe l'Autenticazione delle applicazioni e le relative Politiche di sicurezza, la gestione dei Certificati e l'autenticazione e riservatezza delle comunicazioni sul canale di ritorno.
Sono state definite tre strutture dati, corrispondenti alle tipologie dei messaggi, denominate HashFile, SignatureFile e CertificateFile, che vengono memorizzate in files all'interno al file system ed inviate al STB insieme all'applicazione.
6.1.1 HashFile.
Un HashFile contiene un'informazione riepilogativa e codificata del contenuto di una directory, tranne s stesso, il cui scopo garantire l'integrit dell'informazione al momento della ricezione. Per ogni file, viene prima calcolato uno specifico codice Hash sulla base del suo contenuto e dei suoi attributi. Alla fine, il valore hash della directory viene calcolato sui valori hash del suo contenuto, ottenendo in questo modo che il suo valore sia autenticato dal contenuto stesso dell'albero sottostante. Oltre a questo tipo di HashFile, vi un HashFile principale, contenuto nella root directory ed ottenuto calcolando il codice Hash di tutti gli HashFiles contenuti nelle sub-directories e quello dei files della stessa root directory.
6.1.2 SignatureFile.
La firma digitale si ottiene calcolando, con lalgoritmo indicato nel certificato della chiave privata, il codice Hash del HashFile posizionato nella root directory del file system e crittografando il risultato con la chiave privata del fornitore del servizio. Nel caso si abbiano pi chiavi, possibile creare pi firme usando lo stesso codice Hash. La firma viene quindi memorizzata in un file chiamato "dvb.signaturefile.x", in cui la x identifica una specifica firma, nel caso se ne possiedano pi di una. Il file "dvb.signaturefile.x" strutturato secondo lo standard Abstract Syntax Notation One (ASN.1), nella versione Distinguished Encoding Rules (DER), linguaggio dedicato alla produzione di standard ed orientato all'interoperabilit tra componenti.
6.1.3 CertificateFile.
Il CertificateFile contiene, oltre al certificato della chiave pubblica che ha firmato il file system, una struttura gerarchica dei certificati delle chiavi pubbliche in cui un certificato sia autenticato da quello di ordine superiore fino all'ultimo, che deve essere un certificato di una root CA riconosciuto dal STB. Ad ogni certificato utilizzato durante la firma va associata la corrispondente catena di certificati, in cui la numerazione identificativa, indicata con "x" nel nome del SignatureFile, deve corrispondere a quella del nome del file dei certificati
("dvb.certificates.x").
Gli Elementary Files si suddividono in internal EF e working EF, a seconda che possano essere utilizzati da applicazioni interne o meno alla carta stessa. Un file identificato da un ID univoco di 2 bytes. Il Master File ha sempre come ID, in forma esadecimale, 3F00. Per indicare un particolare file comprensivo di tutto il path a partire dal Master File, si giustappongono i singoli ID intervallati dal simbolo ':'. Un elementary file potrebbe, ad esempio, essere identificato da: EF00:0001:0001.
connessione. Le applicazioni MHP, per utilizzare le smart card, devono impiegare un set di API; trattandosi di un punto chiave ridefinito solo ultimamente ed ancora, forse, soggetto a sviluppi, bisogna verificare bene la versione della piattaforma standard su cui ci si trova ad operare. Questo lo scenario, in funzione delle versioni di MHP supportate dal STB: MHP 1.0.2 e 1.0.3: non prevedono la gestione di smart card MHP 1.1 e 1.1.1: prevedono la gestione dei lettori di smart card per il attivit di commercio elettronico attraverso l'Open Card Framework for Embedded Devices Specification 1.2.2 (OCF). Non prevedono invece la gestione dei lettori di smart card per l'accesso condizionato. MHP 1.1.2: ha sostituito le OCF, perch non pi supportate, con il set di API Java, denominato "Security and Trust Services API for Java 2 Platform, Micro Edition", (SATSA 1.0).
Come abbiamo visto in precedenza, il modello di sicurezza di MHP divide le applicazioni in firmate e non firmate. Queste ultime hanno limitati diritti di accesso a risorse e servizi. I codici hash in MHP assicurano l'integrit dei dati e la confidenzialit, in quanto sono calcolati partendo dal contenuto e dagli attributi degli oggetti. Un Hashfile indicante gli oggetti che devono essere autenticati sar messo in ogni elenco contenente tali oggetti. Questo meccanismo assicura che soltanto una applicazione autenticata pu modificare i relativi oggetti. Inoltre, una applicazione autenticata non pu modificare gli oggetti non elencati nel Hashfile che ha utilizzato per autenticarsi. Sotto autenticazione forte, solo utenti autorizzati possono aver accesso alle risorse MHP. La non-ripudiabilit viene assicurata attraverso le firme. La firma digitale in MHP memorizzata nella directory root del sotto albero che autentica. Il valore di firma calcolato sul certificato in formato ASN.1 DER. Generando questa firma, una Certification Authority (CA) certifica la validit dell'informazione, in particolare il legame fra la chiave pubblica ed il proprietario del certificato. Qualunque utente che abbia firmato per una applicazione non potrebbe negare tale operazione. Questo assicura il non-ripudio. D'altra parte, la non-ripudiabilit esiste anche nella direzione opposta. Il service provider e il broadcaster non possono negare con il cliente una qualunque operazione effettuata, ad esempio nell'eventualit che tale operazione abbia danneggiato il STB del cliente. La autenticazione delle applicazioni fornita dalla catena di certificati e dal Root Certificate contenuto nel STB. Ci consente al STB di accertare la fonte di provenienza delle applicazioni e di tutti i files in generale, assicurando che utenti non autorizzati non facciano uso improprio di informazioni riservate. Inoltre, nel canale di ritorno viene utilizzato il Transport Layer Security (TLS), che richiede, come visto, almeno un certificato riconosciuto dal STB, accertando quindi l'autenticit dell'applicazione e garantendo la confidenzialit delle comunicazioni grazie alla propria suite crittografica. La condizione di disponibilit si pu verificare solo con la collaborazione fra service provider e broadcaster che
devono garantire la Qualit del Servizio, mentre entrambi nulla possono sul funzionamento del canale di ritorno. Poich Java la piattaforma di sviluppo di elezione per MHP, pu essere utilizzata la caratteristica di sicurezza sandbox, che pu limitare l'accesso alle risorse di sistema. Java gioca un ruolo importante in quanto, imponendo tipizzazioni forti, non consente alle applicazioni di eseguire gli attacchi pi comuni come ad esempio gli stack overflows. Concludendo, sotto il profilo tecnico e prescindendo ovviamente dal fattore umano, il modello di sicurezza in MHP, fondamentale per lo standard DVB, fornisce una protezione adeguata ai dati degli utenti ed alle applicazioni.
Bibliografia . Autorit per le Garanzie nelle Comunicazioni, 2000 Il libro Bianco sulla televisione digitale terrestre ETSI EN 300 744 Digital broadcasting systems for television, sound and data services; framing structure, channel coding and modulation for digital terrestrial television