Introduzione


I software di cifratura si dividono, dal punto di vista dell'architettura, essenzialmente in due categorie. Ci sono software che interagiscono con il sistema operativo e software che interagiscono con l'utente. I primi compiono operazioni completamente trasparenti all'utente, nel senso che quest'ultimo non si rende conto del processo di cifratura, ma usufruisce direttamente di un'area dedicata alla protezione dei dati. La seconda categoria riguarda software che agiscono esclusivamente in base alle richieste dell'utente. Qualunque operazione deve essere esplicitata necessariamente.


Software che interagiscono con il sistema operativo

In ambiente Windows vengono utilizzati i filesystem FAT (File Allocation Table) ed NTFS (New Technology FileSystem). Il primo non offre la minima protezione per i file, in quanto chiunque ha accesso al sistema, ha accesso a tutti i dati. Un passo avanti è stato compiuto con l'introduzione di NTFS, il quale permette di gestire politiche user based e group based di accesso ai file. Con specifici software, è, però, possibile eludere questo sistema di protezione, riuscendo a compiere operazioni di più basso livello su settori dell'hard disk. Fortunatamente, sono stati sviluppati software dedicati (tra i più diffusi PGPdisk e BestCrypt, descritti in dettaglio in questa tesina) per la cifratura di determinate aree del disco, cifratura che si traduce, in pratica,  nell'illegibilità dei dati. 
Quando un'applicazione vuole effettuare un'operazione di lettura/scrittura su disco, fa una richiesta al sistema operativo il quale la inoltra al driver di periferica interessato. E' quest'ultimo ad effettuare l'operazione vera e propria. La figura 1 mostra l'interazione appena descritta.

figura 1

I software di cifratura creano un'unità disco virtuale la quale viene simulata tramite un file cifrato che risiede su un dispositivo di memoria di massa. Per la simulazione, questi software utilizzano un modulo, il virtual disk driver, che si interpone tra il sistema operativo e l'unità disco virtuale, come mostrato in figura 2. 
figura 2

Poiché il sistema operativo considera il disco virtuale come un dispositivo fisico e il virtual disk driver come il corrispondente driver di periferica, delega a quest'ultimo tutte le operazioni di lettura/scrittura, riguardanti il disco virtuale. Il virtual disk driver si fa carico di soddisfare le richieste traducendole in operazioni di cifratura e decifratura solo sull'area interessata del file cifrato.


Software che interagiscono con l'utente

I software che appartengono a questa categoria (tra cui Invisible Secrets, descritto in seguito) presentano interfacce grafiche semplici da utilizzare, attraverso le quali l'utente specifica una alla volta tutte le operazioni che intende svolgere sui file da proteggere. Questo vuol dire che l'utente è parte attiva nel processo di cifratura e, in quanto tale, deve essere a conoscenza dei dettagli tecnici sul procedimento.