Potete trovare gli articoli indediti di Enigma Amiga Life al seguente indirizzo:
http://www.amigalife.info
Nella precedente puntata si è accennato al problema della protezione dei nuovi media come CD-Rom e DVD, ma prima di illustrare le tecniche adottate è bene dare uno sguardo alla tecnologia di questi supporti di memoria, cosa che ne agevolerà la comprensione.
Il CD-Rom è una banale trasposizione, nell'ambito informatico, della tecnologia prodotta da Philips & Sony nei primi anni ottanta, sviluppata con l'intento di sostituire i vecchi supporti musicali in vinile.
Philips e Sony non sono solo industrie che producono elettronica di consumo, ma sono anche importanti etichette discografiche, e per questo da anni propongono diversi supporti musicali. La tecnologia alla quale si ispirano i CD-Rom è nota con l'acronimo CDDA, che sta per Compact Disc Digital Audio e, a sua volta, è figlia dei dischi in vinile, nei qualli i brani musicali sono memorizzati come variazione (continua) della profondità di un solco a forma di spirale, detta pista, che ricopre l'intera superficie del disco. La testina di lettura dell'impianto stereo non fa che seguire il solco, variando la resistenza al passaggio di corrente in modo proporzionale al dislivello rivelato, questa variazione viene opportunamente interpretata per produrre il suono. I CDDA riprendono in chiave moderna lo stesso concetto, infatti una spirale, lunga circa 5Km, ricopre l'intera superficie, ma questa volta il compito di lettura è affidato ad un raggio laser, che viene riflesso da apposite piazzole, dette land e pit che si alternano opportunamente all'interno del solco, la cui ampiezza è di appena 1.6 micron, questo rende la superficie di lettura del CD un reticolo di diffrazione, che da origine a quei particolari giochi di colore quando viene esposto alla luce del sole. Nei CDDA, l'informazione non è legata alla profondità del solco, ma al fatto che il fascio laser riflesso dalle superfici piane dei land e dei pit generi, in prossimità del sensore ottico, il fenomeno dell'interferenza costruttiva, mentre quello riflesso dal bordo tra pit e land generi un interferenza distruttiva, quindi é un informazione di tipo ON/OFF, ovvero abbiamo una rappresentazione fisica di un bit, per questo si parla di supporto digitale e non più analogico. Nei CDDA sono necessari più bit per codificare un singolo campione audio, lo standard fissa a 16 bit tale quantità, con una frequenza di campionamento pari a 44100 Hz. Questa natura digitale suggerisce un impiego, di tale tecnologia, per memorizzare non solo brani musicali, ma qualsiasi tipo di informazione che possa essere convertita in forma numerica, e quindi era inevitabile che venisse impiegata anche come supporto a sola lettura per i computer, e da qui il nome di CD-Rom, acronimo di Compact Disc Read Only Memory.
Fisicamente i CD sono costituiti da uno strato riflettente, in generale un sottilissimo strato di alluminio, dove viene stampata meccanicamente la spirale costituita dalla successione di land e pit, protretto da un guscio trasparente in policarbonato, su uno dei due lati, in generale, è applicata una etichetta identificativa. Come per tutti i dispositivi di memorizzazione per computer è necessario eseguire una formatazione, ovvero la creazione di una struttura logica atta ad agevolare il compito di stoccaggio e recupero delle informazioni. Per i CD sono disponibili due varianti, denominate XA mode 1 ed XA mode 2, che differiscono solo per la quantità di byte raggruppati in un blocco e dalla qualità dell'algoritmo di correzione di errore. Il primo formato offre una migliore protezione da errori, ma spreca più spazio sul supporto, mentre il secondo non è ben supportato dai vecchi lettori. Quando si è progettata la tecnologia si è tenuto conto dai possibili difetti del supporto (graffi, ditate, granelli di polvere, ...), che avrebbero potuto interferire con la lettura, infatti la presenza di piccole imperfezioni produce inevitabilmente errori di lettura, dovendo il fascio laser centrare perfettamente una pista ben più piccola dell'imperfezione stessa. Così il team di sviluppo ha elaborato un ingegnoso sistema di codifica delle informazioni, limitado il più possibile gli errori, noto con l'acronimo EFM (Eight to Fortheen Modulation). Attraverso una tabella standard, a ciascuna combinazione ottenibile con 8bit viene associata un'esclusiva sequenza di 14bit, (raddoppiando quasi le richieste di memoria), ma ciò consente al software di decodifica, di estrarre l'informazione corretta con una probabilità superiore al 50% in caso di ambiguità, raggiungendo un'affidabilità maggiore di quella offerta dalle tecniche normalmente impiegate per i floppydisk o per gli harddisk. In un secondo momento viene aggiunta un'ulteriore protezione derivante dall'adozione di un algortimo di correzione noto con il nome di Cross Interleaved Reed-Solomon Code, la cui trattazione dettagliata esula dai fini di questo articolo, per i nostri scopi è sufficiente sapere che vegono aggiunte ulteriori informazioni in modo che la somma pesata dei bit appartenenti ad una stessa sequenza sia nulla. In lettura si verifica la somma, se non è nulla c'è un errore, e risolvendo un paio di equazioni, associate ai pesi, si determinano la posizione nella sequenza occupata dal bit erraro e quindi il suo valore. Come alcuni avranno già intuito, l'algoritmo in questione è applicabile solo nel caso ci sia al massimo un errore per sequenza, ma date le dimensioni fisiche della pista, nettamente al disotto di quelle dei possibili difetti dello strato protettivo, ogni sua imperfezione produce intere sequenze di bit completamente errate, così si è fatto ricorso allo stratagemma di mescolare opportunamente i bit provenienti da diverse sequenze, in questo modo ogni difetto fisico produce, con buona approssimazione, un solo errore in ciascuna sequenza, consentendo all'algoritmo di funzionare efficacemente. Ripetendo in cascata diverse volte l'algoritmo CIRC si riesce ad avere la certeza che, in lettura, quasi tutti gli errori saranno intercettati ed corretti.
Mentre nei supporti magnetici rotativi, come harddisk e floppydisk, l'unità fontamentale è il blocco, nei CD è il sync block, costituito da una sequenza di sincronismo di 27 bit, seguita da un byte di subcodice, però memorizzato secondo il formato EFM, quindi 2 gruppi formati da una sequenza di 12 byte di dati e di 4 byte di ridondanza. Tirando le somme: 24byte di dati da memorizzare generano un sync block lungo ben 588bit, ovvero sono richiesti sul supporto ben 3 volte lo spazio necessario nella memoria centrale. Nei CD i blocchi sono raggruppati, non in tracce, ma in Frame, e per l'esattezza un frame è costituito da 98 sync block, quindi può contenere soli 2352 byte di dati, mentre fisicamente è lungo 7203. Lo scopo del subcodice è costituire un canale secodario di dati che integra quello principale, anche i suoi bit sono protetti con l'algoritmo CIRC, però valutato indipendentemente. Questo canale ausiliario viene usato spesso solo per memorizzare l'ascissa temporale del blocco, un po' come abbiamo già visto per i floppy, dove ciascun blocco contiene sia il numero di traccia e sia quello di blocco, in modo da verificare subito se si è letto ciò che si desiderava.
Fin qui si è parlato del formato fisico, per altro comune ai CDDA, sul quale poggia quello logico, costituito da quello che in genere viene chiamato file system, e si occupa di organizzare le informazioni sotto forma di directory e di file, a noi più familiari. Il formato ufficiale è l'ISO 9660, a dire il vero è un formato minimale, che impone pesanti limiti, più che altro necessari per rispettare le specifiche dell'obsoleto file system dell'MS-DOS, ma fortunatamente c'è una via legale, perchè prevista dallo standard, per estenderlo ed inglobare le caratteristiche dei file system più moderni ed evoluti, cosa che però ha portato alla nascita di un selva di formati proprietari, rendendo impossibile la realizzazione di un supporto leggibile dal 100% dei computer. La selezione naturale ha ridotto a 2 sole varianti le possibilità di estensione, la prima, chiamata Rock Ridge, è quella ufficiale, ma allo stesso tempo è molto flessibile e poco supportata, la seconda, chiamata Joliet, ideata e supportata dalla Microsoft (quindi è molto diffusa), è costituita da un semplice adattamento delle specifiche Rock Ridge alle caratteristiche del file system di Windows 95.
Al CD-Rom, nel tempo, si sono aggiunte altre variazioni sul tema, come i CD-R, ed i più recenti CD-RW. I primi sono sono anche noti con il nome di Gold Disk, dal loro caratteristico colore, scelto apposta per renderli facilmente riconoscibili dai CD-Rom, tipicamente di colore argenteo. La loro caratteristica principale è che possono essere scritti (una sola volta) anche dall'utente finale, senza aver bisogno di attrezzature industriali per procedere allo stampaggio dei CD-Rom, basta una particolare periferica detta "masterizzatore"; quindi sono utili per le produzioni software a bassa tiratura o per testare il prodotto prima dello stampaggio definitivo del CD-Rom, operazione detta in gero "generazione del master", ma soprattutto per eseguire i backup dei dati.
I CD-RW sono dei particolari supporti ottici, che consentono, attraverso un'apposita operazione di cancellazione, di ripristinare lo stato iniziale del supporto vergine, anche se questa peculiarità non è utulizzabile all'infinito, in genere sono garantiti circa 1000 cicli, di contro hanno un costo nettamente superiore.
Per i lettori, tranne i primissimi esemplari, non vi è alcuna differenza tra un CD-Rom ed un CD-R, come si può evincere dalla figura qui accanto, a parte una minore riflettività della superficie dei CD-R, un po' più complicato è il discorso riguardante i CD-RW, che hanno una riflettività molto bassa, cosa che impedisce il riconoscimento da buona parte dei lettori installati e richiedono particolari masterizzatori, anche se ormai la maggior parte di quelli in commercio li supporta.
Possiamo definire il Digital Video Disk come una semplice evoluzione del CDDA, la caratteristica che balza subito all'occhio è la spaventosa mole di dati che può contenere nello stesso ingombro di un CD-Rom, la magia è stata ottenuta principalmente riducendo le dimensioni della pista, e quindi variando la lunghezza d'onda del laser. Dal punto di vista software, al vetuso file system ISO 9660 è succeduto il più moderno Universal Disk Format, noto con l'acronimo UDF, che estende i concetti base dell'ISO9660 per supportare le più avanzate caratteristiche dei file system dei sistemi operativi odierni, ed inoltre non prevede estesioni, fonte della babele di formati pseudo ISO9660.
Si intuisce facilmente il perché i CD-R siano, rapidamente, divenuti il mezzo ideale per distribuire copie pirata del software, quindi le tecniche antipirateria mirano principalmente ad interferire con il processo di masterizzazione, impedendolo o rendedolo troppo lento per essere remunerativo.
In tabella sono riportate le principali caratteristiche di ciascun tipo di supporto ottico secondo lo standard previsto dalla OSTA:

Per come è strutturato il formato di memorizzazione dei dati, si ha ampia libertà nello scegliere cosa modificare lievemente, rispetto lo standard, per riconoscere se il supporto sia originale o meno. Per sempio alcuni parametri geometrici sono del tutto casuali durante il processo elettrogalvanico che porta alla creazione dello stampo, o della creazione del master perché legati alla calibrazione del laser che varia in base alla temperatura di esercizio, quindi se in qualche modo si riuscisse a prevederli ed a memorizzarli sul supporto, si avrebbe un modo efficace per riconoscere un originale da una copia contraffatta, ed è proprio ciò che avviene in alcune soluzioni commerciali . Questa è una tecnica molto difficile da applicare, ma almeno (sulla carta) sembra buona.
La maggior parte delle soluzioni, però, si basa sulla creazione di firme o di marcatori non realizzabili con un normale masterizzatore, infatti, come prima è stato detto, ogni sequenza di 8bit, grazie all'algoritmo EFM, viene mappata su una particolare sequenza a 14bit, per tanto moltissime combinazioni delle 16384 ottenibili con 14bit sono disponibili per la marcatura, proprio perché non potranno essere create durante la generazione del master, certo la loro presenza crea dei problemi in lettura, dato che il lettore li interpreterebbe erroneamente, il trucco è di inserirli in aree dette dummy (aree prive di significato per l'applicativo), e che quindi non vengono mai raggiunte durante l'esecuzione dell'applicazione, a meno di occasionali controlli antipirateria, ma sono inevitabilmente lette durante la copia!
Il successo commerciale dei supporti digitali non è solo legato alla loro maggiore capienza ed alla maggiore economicità rispetto i supporti magnetici, ma anche perchè grantiscono una protezione antipirateria più efficace. Sfortunatamente le cose non stanno così, come dimostra anche la recente violazione dell'algoritmo crittografico sul quale si basano gli attuali DVD per la distribuzione cinematografica. Il vero punto debole di ogni protezione è il lato software, e su questo punto ci si soffermerà nella parte finale di questo minicorso. Alla prossima puntata.