Appendice 14: Vista:
alcune considerazioni.
Come si sa Vista introduce tutta una serie di elementi tendenti ad
aumentare la sicurezza del PC, in particolare per ciò che
attiene al 'premium content', tipicamente usufruibile tramite HD-DVD e
BlueRay-DVD.
Peter Gutmann del dipartimento della Scienza del Computer
dell'Università di Auckland, ha fatto uno studio del costo
da pagare nel caso disgraziato che Vista riesca ad imporsi sul mercato.
Qui ne traduco alcuni passaggi,
Vi invito caldamente a leggere tutto, con calma e attenzione, vista
l'importanza che l'argomento ha.
Certe cose è meglio saperle prima, piuttosto che rimanerne
vittime dopo.
"L'introduzione di questo sistema di protezione avrà come
conseguenza un costo considerevole in termini di performance del
sistema, stabilità, sicurezza, supporto tecnico e costo dei
programmi.
Ciò non riguarderà solo gli utilizzatori di
Vista, ma l'intera industria informatica dal momento che le misure di
protezione dovranno essere estese a tutti quei componenti che
potrebbero venire in contatto con Vista, anche se non direttamente
usati dallo stesso, come ad esempio l'hardware nei sistemi Mac o i
server Linux.
Funzionalità
disabilitate
"Il sistema di protezione di Vista permette ai contenuti protetti di
utilizzare solo interfaccie che abbiano la stessa protezione. Al
momento attuale la maggior parte delle interfacce audio ad alta
qualità utilizzano il formato S/PDIF (Sony/Philips DIgital
Format). Moltissime schede audio di nuova generazione utilizzano
l'uscita TOSlink per avere una riproduzione di alto livello sonoro. Le
stesse schede madri di ultima generazione offrono spesso una uscita
audio coax o addirittura ottica. Ma poichè il formato S/PDIF
non provvede alcuna protezione dei contenuti, Vista ne richiede la
disabilitazione qualora si vogliano ascoltare i cosiddetti 'premium
contents'. Lo stesso vale per i componenti video. In parole povere
ciò significa che la somma che avete speso per dotarvi del
meglio oggi sul mercato si rivelerà del tutto inutile per
ascoltare la musica o vedere i video protetti.
Funzionalità
disabilitate indirettamente
Oltre alle funzionalità disabilitate direttamente ve ne sono
altre. Ad esempio le comunicazioni vocali tramite PC si basano sulla
soppressione automatica dell'eco (AEC).
L'AEC funziona mandando una parte del segnale al sottositema di
cancellazione eco.
Ciò però non è consentito da Vista
perchè potrebbe essere utilizzato per la copia del
contenuto. Quello che è permesso è una forma
estremamente diluita di feedback che può essere utilizzata
per una forma molti minimale di cancellazione dell'eco.
Diminuzione della
qualità di 'playback
Oltre alla prerogativa di abilitare - disabilitare l'output, Vista
richiede che la preiferica che provvede l'uscita ad alta
qualità degradi la qualità del segnale qualora la
protezione sia attiva. Ciò viene ottenuto attraverso un
'constrictor' che degrada il segnale ad una qualità
inferiore e poi lo riporta alla condizione precedente con
però una perdita significativa di qualità.
Così se stai usando un nuovo display LCD alimentato da un
segnale DVI ad alta qualità ed è attivato il
sistema di protezione, l'immagine che vedrai sarà leggermete
'sfocata', 'indistinta', come sui vecchi monitor di 10 anni fa che
potresti comprare al mercatino per due dollari. In effetti è
ancora ammessa la specifica VGA, ma in futuro probabilmente
verrà disattivata.
Lo stesso deliberato degrado del playback di qualità
è applicato all'audio che avrà quindi 'meno
dettagli'.
Curiosamente la documentazione riguardante la protezione di Vista
specifica che è compito dei produttori differenziare i loro
prodotti. Sembra come rompere le gambe agli atleti e poi giudicarli in
base a come corrono con le stampelle.
Ma oltre alle ovvie implicazioni di audio e video degradati, ve ne sono
di ben più importanti.
Per esempio il settore delle immagini per uso medico. Qualsiasi forma
di degrado dell'immagine stessa può portare a false diagnosi
e, in casi estremi, persino alla morte.
Pensate al medico che sta esaminando alcune fotografie e
contemporaneamente ascolta come sottofondo musica dal suo dvd. Se
è presente un qualsiasi 'premium content' automaticamente
l'immagine sullo schermo subirà un impercettibile
cambiamento. La sua alterazione potrebbe essere determinante per una
falsa diagnosi. E il brutto è che non c'è un
metodo semplice per prevenire tale mutamento. Vista
modificherà l'output in un certo modo, impossibile da
prevedere in anticipo, silenziosamente.
Eliminazione del supporto
per l'hardware opensource
Per impedire la creazione di emulatori hardware di elementi protetti,
Vista richiede l'uso di HFS (Hardware Functionality Scan) che viene
usato per rilevare una specie di 'impronta digitale' del device per
essere certi che esso sia (probabilmente) genuino.
Per ottenere ciò il PC esegue un'operazione sul device (ad
esempio renderizza un contenuto 3D in una scheda grafica) che produce
un risultato univoco che identifica il device stesso.
Per poter funzionare le specifiche richiedono che i dettagli del device
stesso siano mantenuti 'confidenziali'. Chiunque conoscesse le
specifiche del device stesso sarebbe in grado di creare un driver per
esso (utilizzabile ad esempio su un O.S. diverso da Vista), ma sarebbe
anche in grado di annullare il meccanismo HFS. L'unico modo pre
proteggere il processo HFS è quello di non rilasciare
dettagli tecnici del device stesso, esclusi quelli necessari per
scrivere un articolo o per confrontarlo con altri.
Eliminazione di Driver
Unificati
Il sistema HFS ha un altro costo incorporato. La maggior parte dei
produttori, grazie a Dio, ricorre oggi a drivers unificati.
Poichè HFS richiede l'identificazione unica e non si
accontenta di identificare il device (ad esempio scheda grafica), ma
vuole conoscerne la variante, non è più possibile
creare un drivers unico. Ogni piccola variazione del device richiede un
cambiamento del driver in modo che il sistem HFS possa lavorare al
meglio.
Se il chip grafico è integrato direttamente nella scheda
madre e l'accesso al bus è difficile, non vi è
più bisogno di criptazione. Questo potrebbe significare un
notevole aumento dell'offerta di schede madri con chip grafico
incorporato. Ciò però porta ad un ulteriore
problema. Per il sistema non sarebbe possibile comprendere se la scheda
grafica è integrata nella scheda madre o no. In entrambi i
casi infatti utilizzano lo stesso bus AGP/PCI. La soluzione
è di rendere le due forme di schede grafiche 'incompatibili'
in modo che il sistema HFS possa capire se la scheda è
integrata o no. Ciò però significa aumentarne i
costi e la complessità.
Ulteriori problemi con i drivers audio. Al sistema l'audio HDMI sembra
uguale a quello S/PDIF, soluzione adottata a suo tempo per semplificare
il disegno dei drivers.
Per avere la possibilità di disabilitare l'output
è però necessario rendere il codec HDMI
incompatibile con quell S/PDIF.
Sopsensione del servizio
(DoS) tramite revoca del driver
Non appena venisse scoperta una debolezza in un driver o device, quel
driver vedrebbe la sua 'firma digitale' revocata da Microsoft, il che
significa che cesserebbe di funzionare (i dettagli sono molto scarsi;
probabilmente verrebbe mantenuta una qualche minima
possibilità per il boot).
Se un device viene 'revocato', questo è valido
immediatamente in tutto il mondo fintanto chè il produttore
non fornisca una patch adeguata. Se però si tratta di un
device vecchio è molto difficile che il produttore si prenda
la briga di fare qualcosa. Nel mercato odierno la maggior parte dei
device entra nello stato 'legacy' uno o due anni dopo che il suo
successore è entrato nel mercato. Si verificasse la
situazione descritta, il device diventerebbe permanentemente
inutilizzabile.
Pensate alla Nvidia TNT2, molto utilizzata ancora oggi negli uffici dal
momento che offre tutto quello di cui hanno bisogno. Venisse trovata un
debolezza nel driver è difficile pensare che Nvidia decida
di riscriverne un'altro visto che è da parecchi anni che non
lo modifica più.
La revoca può avere altri costi imprevedibili. I componenti
anti-pirateria di Windows (WGA) sono legati strettamente ai componenti
hardware del sistema. Windows vi permette di fare un numero limitato di
cambi al vostro hardware, dopodichè richiede una nuova
licenza.
Se un particolare componente viene disattivato (anche solo
temporaneamente in attesa di un nuovo driver) e voi, per aggirare il
problema, installate una nuova scheda grafica o sonora, rischiate di
risvegliare il sistema anti-pirateria di Windows, cadendo
così dalla padella nella brace. Se siete costretti a
cambiare un componente essenziale, come la scheda madre, siete
immediatamente ed automaticamente 'bocciati' dalla WGA. Qualsiasi
revoca di qualsiasi tipo di componenente integrato nella scheda madre
(quasi tutte hanno integrato l'audio e molte anche il video) avrebbe un
effetto serio e negativo sul sistema di validazione (WGA) di Windows.
Diminuzione
dell'affidabilità del sistema
Il sistema di protezione di Vista richiede che tutti i componenti
(harware e drivers software) emettano il cosiddetto 'tilt-bits' qualora
si accorgano di una qualche anomalia.
Per esempio se c'è una fluttazione unusuale della tensione,
qualche disturbo nel segnale del bus, un ritorno di codice leggermente
diverso in risposta al richiamo di una funzione,, il registro di un
device che non contiene ciò che ci si aspetta, eccetera,
viene emesso un 'titlt-bits'. Cose di questo genere non sono affatto
unusuali o poco comuni in un tipico computer. Ad esempio allacciare un
device alimentato tramite bus può causare una piccola
fluttuazione del voltaggio. Fino ad ora ciò non era un
problema: i sistemi erano costruiti con un'elasticità
più o meno grande e le cose continuavano a funzionare come
normale.
Con l'introduzione del 'tilt-bits' l'elasticità si riduce a
zero. Eventi che prima nemmeno si notavano portano il sistema a credere
di essere sotto attacco. L'effetto che questo ha
sull'affidabilità del sistema è ovvio e non
richiede ulteriori spiegazioni.
Caratteristiche contenute nella 'Content-Protection' come il
'tilt-bits' possono avere terribili conseguenze del tipo DoS (denial of
service).
E' un bene che gli attuali malware sono creati essenzialmente per il
pishing e lo spam, piuttosto che per creare il maggior danno possibile.
Con il numero di caratteristiche esplosive che il sistema di protezione
di Vista possiede, qualsiasi malware che decidesse di usarne qualcuna
causerebbe seri danni; un piccolo pezzo di malware, facilmente
nascondibile sarebbe più che sufficente per rendere la
macchina inutilizzabile, mentre la stessa natura della protezione di
Vista renderebbe impossibile scoprire perchè il 'Denial of
Service' è accaduto.
Di più: gli autori del malware che avessero preso di mira la
protezione di Vista sarebbero protetti dal DMCA che impedisce il
reverse engeneering o la semplice disabilitazione delle caratteristiche
della protezione che loro hanno preso di mira.
Aumento del costo harware
"Questo aumenta i costi
del disegno della scheda madre, aumenta i tempi di sviluppo e riduce la
flessibilità di configurazione OEM. Questi maggiori costi
saranno passati al consumatore e potranno rallentare lo sviluppo di
piattaforme ad alta performance" ATI
Vista include varie richieste ai produttori di hardware. Per esempio
solo determinati tipi di layout per le schede saranno accettati in modo
da rendere più difficile l'accesso a certe parti del
circuito. Ciò implica maggiori costi, oltre al costo
derivato dal fatto che i produttori sono costretti a fare layout non
ottimizzati per il loro prodotto.
Ad esempio i produttori di schede grafiche tendono ad utilizzare un
unico circuito stampato per varie schede. Ad esempio una scheda di
basso costo non ha l'uscita video, il circuito DVI, la RAMDAC
eccetera,tutte cose che sono presenti nella stessa scheda di fascia
alta. Se voi guardate il circuito noterete che, per le schede di fascia
bassa, esistono pezzi del circuito stesso non utilizzati. Il sistema di
protezione di Vista richiede invece che ciò non succeda.in
modo che non sia possibile prelevare dalla scheda alcun segnale.
Ciò significa che una scheda a basso costo non
sarà più una scheda ad alto costo senza alcuni
componenti, e viceversa. Ognuna dovrà avere un proprio
circuito personalizzato.
Questo si estende a tutti i componenti sino al chip. Il produttore
quindi non potrà più variare i costi in base agli
add-ons montati, ma sarà costretto a fornire un'unica scheda
con tutto il possibile incluso, anche se il compratore si sarebbe
accontentato di una scheda con prestazioni ridotte.
Aumento dei costi per
usare licenza di terze parti
"Abbiamo avuto maggiori
costi legali per la protezione del copyright negli ultimi sei mesi che
per qualsiasi altro sviluppo. Ogni contratto legale stabilisce un
precedente. Ed ogni nuovo contratto si basa sul precedente" ATI
Proteggere tutti i presiosi contenuti 'premium' richiede un sacco di
tecnologia addizionale. Sfortunatamente tale tecnologia è
posseduta da terzi e richiede licenze addizionali.
Ad esempio la tecnologia HDCP per HDMI è dell'Intel.
Così per mandare un segnale tramite HDMI occorre pagare
delle royalties all'Intel, anche se potreste ottenere lo stesso
risultato, gratis, tramite DVI.
La necessità di utilizzare tecnologie, con licenze, non
necessarie si estende oltre l'hardware base IP. Microsoft infatti ha
richiesto ai produttori di proteggere i loro drivers con tecnologie
simili a quelle che rendono i virus 'invisibili'. Società
come Cloakware e Arxan hanno già riempito le loro pagine web
con soluzioni atte allo scopo, naturalmente dietro pagamento di
royalties.
Consumo non necessario di
risorse della CPU
"Dal momento che la
crittografia consuma cicli della CPU, un OEM deve innalzare la
velocità della CPU per mantenere le performances attuali.
Questo costo verrà riversato sui consumatori." ATI
Tutto il flusso di informazioni dovrà essere criptato e/o
autenticato. Per esempio il flusso mandato alla scheda video deve
essere criptato con AES-128.
Questa richiesta di criptografia si estende anche al flusso tra i
componenti software. Ad esempio comunicazioni tra user-mode e
kernel-mode dovranno utilizzare il sistema di autentificazione messaggi
OMAC con considerevoli costi per entrambe le parti connesse.
Per prevenire attacchi, i vari drivers devono interrogare ogni 30 ms
l'hardware per controllare che tutto sia sempre in ordine.
Questo significa che, anche se non sta avvenendo niente d'altro nel
vostro sistema, una gran quantità di drivers deve svegliarsi
30 volte ogni secondo giusto per controllare che non sta accadendo
nulla. Oltre a questo vengono eseguiti innumerevoli altri controlli.
Ad esempio Vista controlla le schede grafiche ogni volta che viene
elaborato un frame di un video per accertarsi che tutto sia in ordine
(tilt-bits).
Già molti hanno riportato problemi con i video e l'audio,
con frames perse ed audio balbettante anche con sistemi di alto profilo.
Il tempo dirà se questi problemi sono dovuti
all'immaturità dei drivers o al sovraccarico imposto da
Vista.
Schede grafiche incorporate creano un ulteriore problema visto che
blocchi del loro prezioso contenuto vengono immagazzinati nella memoria
del sistema, da cui potrebbero venir trasferite sul disco (paging).
Vista quindi contrassegna queste pagine in modo che il loro
trasferimento sul disco avvenga in forma criptata e il loro richiamo
venga de-criptato. Sono le uniche pagine a subire tale trattamento.
Quelle che contengono il numero della vostra carta di credito, i vostri
dati personali e privati, vengono trasferite al disco in forma testuale
senza alcuna protezione così come tutte le altre
informazioni 'sensibili'. La richiesta della protezione del contenuto
mette così in evidenza che per Microsoft il
'Premium-Content' è molto più importante dei
vostri dati medici o bancari.
Oltre ai maggiori costi per la CPU, l'inaccessibilità dei
dati ad ogni livello significa che la decompressione video non
può più essere fatta dalla CPU dal momento che
non ha abbastanza potenza per decomprimere il video e criptare il
risultato da mandare alla scheda grafica. Quindi la decompressione deve
essere integrata nella scheda video, facendo quindi sparire le schede
grafiche di basso livello senza codec video integrati.
L'impossibilità di effettuare la decodifica significa anche
che qualsiasi schema di compressione di contenuti 'Premium' non
può essere implementata. Codec come Ogg o vengono
implementate in qualcosa come Windows Media VC-1 o non funzioneranno
più in un sistema con Vista.
La cosa è particolarmente allarmante per il cinema ad alta
qualità (D-Cinema) le cui specifiche utilizzano JPEG2000
(MJ2K) dal momento che lo standard MPEG e gli equivalenti non
provvedono la necessaria qualità. Poichè JPEG2000
è basato sulla compressione wavelet e non sulla DCT, e la
compressione wavelet non è sulla lista dei codec hardware,
non è possibile eseguire i D-Cinema (anche Ogg si basa su
wavelet).
Poichè TUTTI i D-Cinema avranno un contenuto premium ne
risulta che non saranno visibili sul PC sino al giorno che non
apparirà il supporto hardware. Se paragonate tutto questo
alla situazione attuale con i video mpeg e osservate come il vecchio
codec XingMPEG aveva praticamente creato il mercato del video per pc,
vedete che oggi, grazie alla protezione dei contenuti di Vista,
l'aprire nuovi mercati in questo modo è divenuto impossibile.
Le schede audio e grafiche di alte prestazione sono dominio dei
giocatori incalliti, che sono disposti a tutto pur di guadagnare anche
un solo bit di prestazioni. Disposti anche a comprare per 250 dollari
la scheda ethernet 'Killer NIC' che promette di abbassare la latenza
del loro network di qualche millisecondo. Considerando che la vendita
di una di queste schede grafiche porta al rivenditore un guadagno
superiore di quello ottenuto dalla vendita di un magazzino di schede
madri con chip grafico integrato, sarà interessante vedere
la loro reazione quando si renderanno conto dei limiti imposti dal
sistema di protezione dei contenuti di Vista.
Consumo non necessario
delle risorse dei device.
"Il contenuto deve
essere criptato, Questo richiede l'aggiunta della logica di
criptazione/decriptazione alla VPU. Questo costo sarà
passato completamente all'utilizzatore finale". ATI
I devices devono implementare l'algoritmo AES-128 per poter ricevere
dati da Vista. Per far questo è necessario implementare un
motore di criptazione/decriptazione nel chip della scheda grafica.
Ciò in pratica significa che una o due pipelines della GPU
verranno utilizzate solo per questo scopo.
Considerando poi che AES richiede un ulteriore sovraccarico (in questo
caso lo scambio di una chiave Diffie-Hellman a 2048bit) è
facile immaginare che tale necessità sia soddisfatta
implementando un motore crittografico per la chiave pubblica che
andrà ad occupare una o più delle pipelines
rimanenti.
Tutte cose che, accanto ad una performance inferiore, andranno a
incidere sul prezzo della scheda.
Pensieri finali
"Nessun
novità può aver successo, se non è
stata disegnata con in testa i desideri del consumatore. Questa
è la condizione per la sua assunzione." Microsoft
Alla fine di tutto questo discorso rimane la domanda: perchè
Microsoft si è buttata in questo pasticcio?
Provate a chiedere alla gente cosa si aspettano sotto il termine
'lettore con protezione dei contenuti' e vi risponderanno con: "Un PVR"
oppure "UN lettore DVD". Nessuno vi risponderà: "Un PC
Windows". E Allora perchè tutto questo sforzo per tramutare
il pc in qualcosa che non è?
Nel luglio 2006, Cory Doctorow ha pubblicato un'analisi sulla natura
anti-competitiva del sistema anticopia dell'iTune di Apple (Apple's
Copy Protection Isn't Just Bad For Consumers, It's Bad For Buisness",
Cory Doctorow, Information Week, 31July 2006).
L'unica ragione per cui posso immaginare abbia spinto Microsoft a tanto
lavoro per i suoi programmatori, rappresentanti, venditori e clienti,
è che non appena questa protezione sarà diffusa,
Micrsoft sarà l'unico proprietario dei canali di
distribuzione per i contenuti premium.
Allo stesso modo in cui Apple ha cercato di monopolizzare il mercato
audio, così Microsofto cerca di appropriarsi del nascente
mercato 'premium'.
Non solo sarà in grado di mettere fuori qualsiasi altro
competitore, ma, visto che sarà l'unico canale di
distribuzione, potrà dettare condizioni ai produttori di
contenuti 'premium' (un po' come ha fatto l'Apple nel settore musicale).
Il risultato sarà un monopolio rinforzato dalla tecnologia
che farà ricordare l'attuale monopolio di fatto di Windows
come un 'guanto di velluto'.
La cosa peggiore di tutto è che non c'è scampo.
I produttori hardware devono bere l'amaro calice se vogliono lavorare
con Vista (non è richiesto di firmare una specifica licenza,
ma senza un certificato il contenuto 'premium' non viene passato al
driver).
Naturalmente un produttore può scegliere di non aderire,
sempre che non gli importi che il suo prodotto sarà in grado
di esibire solo video e audio di bassa qualità, sfuocato e
scattante quando cercherà di riprodurre contenuti 'premium'
mentre i suoi competitori non avranno questi problemi (è
bene ricordarlo creati artificiosamente) avendo integrato la protezione
richiesta da Vista.
L'utente finale non ha alcuna scappatoia.
Sia che usi Windows Vista, Windows XP, Windows 95, Linux, FreeBSD, OS
X, Solaris (on x86) o qualsiasi altro OS, la protezione dei contenuti
'Premium' di Vista renderà il suo hardware più
costoso, meno affidabile, più difficile da supportare,
più vulnerabile a codice malware e con maggiori problemi di
compatibilità.
Poichè Windows domina il mercato dei PC e non è
pensabile che i produttori offriranno due differenti versioni del loro
prodotto, una per Vista e una per gli altri.
Chi non utilizza Windows dovrà quindi pagare comunque per le
misure di protezioni inserite in un sistema che non userà
mai."
L'articolo completo, con le referenze e le note, in inglese,
è leggibile al seguente indirizzo:
Il
costo di Vista
Notizie su chi ha scritto l'articolo ed altri suoi saggi li trovate a
questo link:
Peter
Gutmann