Corso Sicurezza a.a. 2002/2003 Sistemi Software di Crittografia Danilo Forghieri...

33
Corso Sicurezza a.a. 2002/2003 Sistemi Software di Crittografia Danilo Forghieri [email protected] ge.it

Transcript of Corso Sicurezza a.a. 2002/2003 Sistemi Software di Crittografia Danilo Forghieri...

Page 1: Corso Sicurezza a.a. 2002/2003 Sistemi Software di Crittografia Danilo Forghieri 1998s008@educ.disi.unige.it.

Corso Sicurezza a.a. 2002/2003

Sistemi Software di Crittografia

Danilo Forghieri

[email protected]

Page 2: Corso Sicurezza a.a. 2002/2003 Sistemi Software di Crittografia Danilo Forghieri 1998s008@educ.disi.unige.it.

Tipi SoftwareI software di cifratura si dividono, dal punto di vista dell'architettura, essenzialmente in due categorie. 1) Ci sono software che interagiscono con il sistema operativo

(cartelle criptate, volumi virtuali criptati) 2) Software che interagiscono con l'utente.

(criptare singoli file, messaggi di posta …)

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 necessariamenteSia per piattaforme Windows che Linux esiste la possibilità di installare programmi (commerciali) appositamente realizzati che permettono di cifrare determinate aree del disco incorporate in unico file che può essere “montato” come un disco virtuale.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.

Fig. 1

Page 3: Corso Sicurezza a.a. 2002/2003 Sistemi Software di Crittografia Danilo Forghieri 1998s008@educ.disi.unige.it.

Software che interagiscono col sistema operativo

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. 

Fig. 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.

Page 4: Corso Sicurezza a.a. 2002/2003 Sistemi Software di Crittografia Danilo Forghieri 1998s008@educ.disi.unige.it.

Filesystem, Volumi virtuali criptati e steganografia

• Windows

– Volumi virtuali criptati

• PGPDisk

• BestCrypt (ScramDisk)

– Crittografia di singoli file e messaggi e-mail

• PGP

– Steganografia

• S-Tools

• Linux

• Volumi criptati loop drive

• Script mkcryptfs

• Cenni ad altri sw e patch

Page 5: Corso Sicurezza a.a. 2002/2003 Sistemi Software di Crittografia Danilo Forghieri 1998s008@educ.disi.unige.it.

PGPDisk (www.pgp.com)PGPdisk è un’applicazione che fa parte del pacchetto Pretty Good Privacy, facile da utilizzare, che consente di disporre di una parte del disco per la memorizzazione di dati riservati. Tale parte di disco viene allocata ad un file di dimensione precedentemente stabilite dall'utente. L'area dedicata ospita il volume PGPdisk che agisce in maniera molto simile ad un dispositivo di memoria di massa. In realtà, è il software che si preoccupa di interporsi tra il dispositivo fisico ed il sistema operativo, intercettando le system call destinate all'unità disco virtuale e traducendole poi,  in un semplice accesso a file. I dati conservati all'interno di un volume sono cifrati e, per accedervi, è necessario montare il volume e digitare una password, allo scopo di ostacolare chiunque tenti di manipolarne il contenuto senza autorizzazione. La password può essere composta da caratteri alfanumerici e/o spazi, formando, così, una vera e propria frase. Per questa ragione la password utilizzata con PGPdisk viene denominata passphrase. PGP per la cifratura dei volumi supporta i seguenti algoritmi: triple-DES, AES-Rijndael, CAST, IDEA, o Twofish. Esistono due metodi di protezione dei dati. Passphrase che consente di immettere una parola o frase segreta, attraverso la quale si genera  la chiave di cifratura e in più si accede al volume. Public key, o chiave pubblica, che richiede all'utente un identificatore e un indirizzo e-mail, con cui vengono generate una coppia di chiavi, pubblica e privata, per cifrare i dati.

Page 6: Corso Sicurezza a.a. 2002/2003 Sistemi Software di Crittografia Danilo Forghieri 1998s008@educ.disi.unige.it.

PGPDiskIn breve, negli algoritmi di cifratura a chiave pubblica, i dati cifrati con la chiave pubblica possono essere decifrati solo con la chiave privata associata. Ad esempio, nello scambio di informazioni con posta elettronica, il mittente conosce la chiave pubblica del destinatario (le chiavi pubbliche sono registrate in un server apposito), cifra i dati con questa chiave e spedisce il risultato. Alla ricezione, il destinatario decifra il  messaggio con la  propria chiave privata. Nel caso in cui qualcuno intercettasse i dati cifrati dal mittente, non può decifrarli senza conoscere la chiave privata del destinatario. Risalire a quest'ultima è un'operazione estremamente onerosa.Il proprietario, o administrator, di un volume può estendere la lista di utenti del volume, può concedere loro accesso completo o in sola lettura, read-only, può rimuoverli o sospendere temporaneamente i loro diritti di accesso. In fase di editing del volume è possibile monitorare il gruppo di utenti attraverso la volume attribute list, che descrive i diritti di accesso di ciascun utente e il relativo metodo di protezione.

Di seguito prenderemo in considerazione la versione 7.0.3.

Page 7: Corso Sicurezza a.a. 2002/2003 Sistemi Software di Crittografia Danilo Forghieri 1998s008@educ.disi.unige.it.

Installazione: Creazione chiavi Dopo l'istallazione del software viene subito richiesta la creazione di una chiave pubblica. PGPdisk offre due metodi di protezione dei dati: chiave pubblica e passphrase. Poiché siamo nella fase iniziale, il software richiede, in un certo senso, di inizializzare il gruppo di chiavi, creandone subito una. Questo consente, in fase di creazione di un nuovo volume PGP, di aver accesso ad entrambi i metodi di protezione citati prima. Nel caso in cui non venga generata una chiave, al momento della scelta del metodo di protezione di un nuovo volume, la scelta public key viene deselezionata.  Per generare una chiave, viene richiesto il nome completo dell'utente al quale la chiave viene associata, e un indirizzo di posta elettronica. Quest'ultimo viene impiegato nel momento in cui si istalla il software con il componente per gestire la posta elettronica, e serve come riconoscimento del mittente. PGP supporta la generazione di tre tipi di chiavi: Diffie-Hellman/DSS, RSA, e RSA Legacy keys

Dopo la generazione della chiave, viene richiesta l'immissione di una passphrase. In genere, questo metodo di protezione dei dati associa la frase segreta al volume in creazione, nel senso che non solo viene utilizzata per generare la chiave di cifratura, ma anche per montare il volume. Quando,  però, si utilizza il metodo di protezione chiave pubblica, è necessaria, comunque, una passphrase per accedere al volume. E' per questo che il wizard di generazione della chiave, in fase di istallazione, ne richiede l'immissione.

Page 8: Corso Sicurezza a.a. 2002/2003 Sistemi Software di Crittografia Danilo Forghieri 1998s008@educ.disi.unige.it.

Installazione: Creazione chiavi

Dopo aver inserito la passphrase, il software genera la coppia di chiavi (pubblica e privata). Le due immagini mostrano, rispettivamente, il procedimento in corso e il procedimento non appena è terminato.

Page 9: Corso Sicurezza a.a. 2002/2003 Sistemi Software di Crittografia Danilo Forghieri 1998s008@educ.disi.unige.it.

Creazione di un PGPDiskQuando si avvia PGPdisk per la prima volta il software avvia automaticamente il wizard per la creazione del volume cifrato . Da questa schermata è possibile determinare la posizione del file cifrato, immettendola direttamente nella casella di testo Choose a location o cliccando sul pulsante Browse... e, successivamente, scegliendola dal navigatore che appare sullo schermo. Nelle caselle relative a Choose a size è possibile determinare la dimensione e l'unità di misura per quest'ultima (Kilobyte, Megabyte o Gigabyte). E' di fondamentale importanza determinare con cura la dimensione del volume che si andrà a creare in quanto, una volta creato il file cifrato, non sarà più possibile cambiarne le dimensioni. L'unico modo per farlo consiste nel creare un nuovo volume, più grande, trasferendovi all'interno i file di quello vecchio e più piccolo.

Il pulsante Advanced Options.... permette di accedere alla finestra mostrata in figura in primo piano. Tramite questa schermata è possibile stabilire ulteriori parametri inerenti al volume di PGPdisk. In particolare, è possibile determinare la lettera del drive con cui montare il PGPdisk o il percorso a partire dal quale saranno resi disponibili i file cifrati del volume. Quest'ultima opzione è disponibile soltanto se si utilizza il sistema operativo Windows NT/2000/XP con file system NTFS. Nella casella Choose an encryption algorithm è possibile scegliere l'algoritmo con cui cifrare il volume, mentre nella casella Choose a filesystem format si può stabilire il filesystem che verrà simulato da PGPdisk. Si consiglia il file system FAT qualora vi sia un unico utente ad avere accesso al volume cifrato, in quanto comporta un notevole risparmio di spazio e di carico di lavoro per il processore. Se, invece, si desidera utilizzare dei criteri di protezione per i file del volume PGPdisk, è consigliabile optare per NTFS. Se si preferisce che il volume venga montato in automatico da PGPdisk all'avvio del sistema senza l'intervento dell'utente, è opportuno spuntare la checkbox mount it at startup.

Page 10: Corso Sicurezza a.a. 2002/2003 Sistemi Software di Crittografia Danilo Forghieri 1998s008@educ.disi.unige.it.

Protezione tramite passphraseLa conferma delle scelte avviene tramite un click sul pulsante Ok che riconduce alla schermata mostrata in figura. Da qui, cliccando sul pulsante Next, si prosegue a scegliere il metodo di protezione desiderato per la cifratura del volume PGPdisk tramite la maschera in figura.La protezione tramite Public Key impone la selezione della chiave pubblica con la quale cifrare il volume. Ciò implica che, per decifrare il volume, sarà necessario avere a disposizione la chiave privata abbinata alla chiave pubblica scelta. Scegliendo, invece, la protezione con Passphrase, bisogna inserire obbligatoriamente anche un nome utente (nella casella Username) che viene richiesto ogni qual volta si monta il volume.

Proseguendo su Next viene richiesta la passphrase (almeno 8 caratteri) tramite la finestra in figura. Nell'esempio mostrato è possibile leggere la frase digitata. Questo è utile, quando non si è in presenza di "occhi indiscreti", perché permette la facile verifica dell'esattezza di quanto digitato, soprattutto per la conferma della passphrase. In contesti in cui la segretezza della passphrase è indispensabile, spuntando la checkbox Hide typing, ciò che viene digitato non compare sullo schermo ma risulterà soltanto in un avanzamento del cursore. La barra Passphrase Quality indica la qualità (in termini di resistenza agli attacchi) della passphrase. Quanto più lunga è la frase tanto più alta sarà la sua qualità.

Page 11: Corso Sicurezza a.a. 2002/2003 Sistemi Software di Crittografia Danilo Forghieri 1998s008@educ.disi.unige.it.

Protezione tramite chiave pubblicaConsideriamo il caso in cui si seleziona il metodo di protezione dei dati con chiave pubblica. La protezione tramite Public Key impone la selezione della chiave pubblica con la quale cifrare il volume. Il software visualizza l'insieme di chiavi a disposizione. Compare solo la coppia di chiavi creata in fase d'istallazione. Se si desidera creare un'altra coppia di chiavi, bisogna avviare da PGPtray. PGPkey, cioè il wizard di creazione della chiave, ed effettuare le stesse operazioni descritte nel paragrafo riguardante l'istallazione.

Page 12: Corso Sicurezza a.a. 2002/2003 Sistemi Software di Crittografia Danilo Forghieri 1998s008@educ.disi.unige.it.

Creazione PGPDisk – Encrypting & FormattingIndipendentemente dal metodo di protezione utilizzato, la creazione del volume avviene come mostrato di seguito. La figura  indica ciò che compare durante la creazione del volume cifrato, che avviene in due passi: cifratura (Encrypting) e formattazione (Formatting). Durante la fase di cifratura, viene creato il file relativo al volume, riempito con una sequenza casuale di byte (di lunghezza pari alla dimensione del volume scelta in precedenza) e il tutto viene cifrato secondo i criteri stabiliti dall'utente. La scelta di byte casuali, e non ad esempio tutti byte contenenti zero, viene effettuata per evitare che un malintenzionato possa scagliare un attacco known plain text, che permetterebbe di risalire alla chiave di cifratura conoscendo il testo in chiaro. Durante la fase di formattazione, vengono inserite, all'interno del volume, le informazioni necessarie alla simulazione del filesystem scelto.

A questo punto la configurazione del PGPdisk è terminata.

Al fine di aumentare ulteriormente la sicurezza, è possibile creare volumi PGPdisk all’interno di volumi già creati. Questo implica che i dati all'interno di volumi contenuti in altri volumi vengono cifrati due volte. La prima volta con l'algoritmo e la chiave specificati per il volume che li ospita direttamente, la seconda volta con algoritmo e chiave del volume più esterno. Per fare questo è necessario che, durante la fase di creazione del nuovo volume, quello ospitante sia montato.

Page 13: Corso Sicurezza a.a. 2002/2003 Sistemi Software di Crittografia Danilo Forghieri 1998s008@educ.disi.unige.it.

Montare un volumeIl file cifrato che rappresenta il volume, non consente di effettuare alcuna operazione su di esso (ad esempio, è impossibile avere accesso ad un suo documento). Per utilizzare il volume e per effettuare operazioni sui file in esso contenuti, si rende necessaria l'operazione di montaggio del volume, che permette al sistema operativo di "vedere" il volume come una unità disco (virtuale) o come una cartella di una unità disco reale. Quando si crea un nuovo volume, esso viene montato automaticamente da PGPdisk. Se, invece, si preferisce montare il volume manualmente, lo si può fare selezionando la voce Mount disk... dal menu PGPdisk di PGPtray. La finestra di dialogo che compare, richiede che venga selezionato il file relativo al volume da montare (i file rappresentanti i volumi hanno estensione .pgd). Successivamente si rende necessario l'inserimento della passphrase che può essere una qualunque tra quelle abbinate agli utenti autorizzati. In figura si vede della finestra Risorse del computer (My computer) dopo il montaggio del volume.

figura 31

 

figura 32

Una volta montato il volume, lo si può utilizzare come una qualsiasi unità disco.Si noti che, se il volume viene montato da un utente con permessi di lettura e scrittura, nessun altro utente sarà in grado di montare il volume. Se si vuole permettere a più utenti di montare il volume contemporaneamente, sarà necessario che tutti gli utenti lo facciano in sola lettura.

Page 14: Corso Sicurezza a.a. 2002/2003 Sistemi Software di Crittografia Danilo Forghieri 1998s008@educ.disi.unige.it.

Smontare un volumeSmontare un volume è l'operazione diametralmente opposta al montaggio e, per questo motivo, rende i dati contenuti nel volume temporaneamente inutilizzabili. Per effettuare lo smontaggio è necessario che nessuno dei file del volume sia aperto da alcuna applicazione, a meno di non aver specificato l'opzione Allow forcible unmounting of PGPdisk with open files. In quest'ultimo caso, i file aperti vengono chiusi e non sono più disponibili per le applicazioni che ne usufruivano.L'operazione di smontaggio può essere portata a termine in più modi. Tra questi, il più veloce, è l'utilizzo del tasto destro sull'icona relativa al volume montato. Dal menu risultante, selezionare la voce Unmount PGPdisk... dal sottomenu PGP. L'azione risulta in uno smontaggio immediato del volume, il quale torna ad essere un semplice file.

Dopo aver creato un volume, il proprietario, indicato come administrator del volume, può decidere di inserire nuovi utenti, eventualmente rimuoverli o disabilitarli.Aggiungere un utente al volumeAggiungere un utente vuol dire memorizzare, all'interno del volume, una serie di informazioni che permettono di identificare gli utenti autorizzati all'utilizzo del volume stesso. Inizialmente, solo chi conosce la main passphrase può montare il volume. Per aggiungere nuovi utenti è sufficiente scegliere la voce Add dal menu Users. Come per tutte le operazioni inerenti alla sicurezza, viene richiesta la main passphrase (di conseguenza, solo chi la conosce può aggiungere un utente). Subito dopo viene avviato il wizard per la creazione di un nuovo utente. Scegliendo il metodo Public key sarà necessario avere già a disposizione la chiave pubblica dell'utente che si vuole inserire all'interno del proprio keyring. Come passphrase di accesso verrà utilizzata la passphrase abbinata alla chiave pubblica scelta. Se si desidera creare un'altra coppia di chiavi, bisogna avviare da PGPtray PGPkey, cioè il wizard di creazione della chiave, ed effettuare le stesse operazioni descritte nel paragrafo riguardante l'istallazione.Optando per il metodo Passphrase, invece, sarà obbligatorio immettere l'identificativo (username) dell'utente, il quale deve necessariamente essere diverso dagli username già autorizzati all'uso di quel volume. Spuntando la checkbox Read-only user è possibile dare accesso all'utente in sola lettura. Questo significa che l'utente potrà montare, smontare e leggere i file del volume, ma non potrà effettuare alcuna operazione che coinvolga una scrittura (creazione di un file, cancellazione, spostamento di altro file nel volume ecc.).

Gestione Utenti

Page 15: Corso Sicurezza a.a. 2002/2003 Sistemi Software di Crittografia Danilo Forghieri 1998s008@educ.disi.unige.it.

Considerazioni conclusiveBackup dei volumiPuò verificarsi, in maniera accidentale o intenzionale, che una persona non autorizzata acceda allo spazio di disco nel quale è contenuto il proprio volume PGPdisk e lo elimini. Il software, infatti, non richiede alcuna autenticazione all'utente che procede all'eliminazione del volume cifrato. Per questo risulta un’ottima idea conservare una copia di backup dei file cifrati. Ovviamente, ci sono altri contesti in cui il backup è utile, ma in questo scenario la manipolazione non autorizzata sembra l'esempio più adeguato.Per effettuare il backup del volume si rende necessario, prima di tutto, smontare il volume, qualora questo sia montato. A questo punto è possibile copiare il file cifrato, che rappresenta il volume, su un dispositivo di memoria di massa capace di impedirne la cancellazione (come, ad esempio, i supporti CD-R). Il file così copiato, è accessibile a chiunque abbia la possibilità di utilizzare il supporto sul quale è stato copiato, ma il suo contenuto non potrà, comunque, essere decifrato. Sicurezza delle passphraseOgni volta che viene digitata una passphrase, questa viene posta in memoria centrale ed utilizzata da PGPdisk per la verifica. Terminata la verifica la passphrase viene cancellata dalla memoria centrale e sovrascritta con una sequenza  casuale di bit. Prima della cancellazione, PGPdisk ne fa una copia di riserva nel proprio spazio degli indirizzi. Questa strategia viene posta in atto al fine di evitare che qualcuno possa, volontariamente o meno, ricercare la passphrase scandendo la memoria centrale. Lo spazio degli indirizzi di PGPdisk è protetto e, quindi, nessuna applicazione può accedervi.Un altro problema che mette in pericolo la sicurezza della passphrase lo si ritrova quando un sistema operativo utilizza una memoria virtuale su un dispositivo di memoria di massa. I sistemi che utilizzano tali strategie, copiano delle pagine di memoria centrale su un dispositivo di memoria di massa, al fine di creare dello spazio per altre applicazioni. Così facendo, la passphrase potrebbe essere inavvertitamente scritta su disco rendendola, così, esposta ad un attacco. Per evitare che ciò avvenga, PGPdisk legge la passphrase dalla memoria abbastanza frequentemente, impedendo che il sistema operativo trasferisca quella zona di memoria su disco.

Page 16: Corso Sicurezza a.a. 2002/2003 Sistemi Software di Crittografia Danilo Forghieri 1998s008@educ.disi.unige.it.

BestCrypt 7.0 per Windows (www.jetico.com)Il software BestCrypt è stato ideato e realizzato dalla JETICO Inc., che è proprietaria di tutti i diritti relativi al prodotto.BestCrypt crea un disco virtuale cifrato che viene identificato dal sistema operativo tramite un'etichetta di volume, come avviene per le normali unità disco. In realtà, il disco virtuale viene simulato da BestCrypt tramite un file, il contenitore. Quando l’utente monta il disco virtuale, questo diventa visibile a tutto il sistema come un vero e proprio disco rimovibile sul quale è possibile effettuare tutte le operazioni ammissibili. Quando un'applicazione o un utente autorizzato ha bisogno dei dati memorizzati sul disco virtuale, BestCrypt non farà altro che leggere dal contenitore i dati cifrati, decifrarli e renderli disponibili all'applicazione che li aveva richiesti. Per interagire con l'utente, BestCrypt utilizza un pannello di controllo, mostrato in figura.

Page 17: Corso Sicurezza a.a. 2002/2003 Sistemi Software di Crittografia Danilo Forghieri 1998s008@educ.disi.unige.it.

Creazione di un nuovo volumeLa prima cosa che si rende necessario fare è creare un contenitore per memorizzare le informazioni da preservare. Per farlo, bisogna selezionare sulla sinistra del pannello di controllo il drive che ospiterà la nuova unità virtuale. Un click col tasto destro del mouse fa comparire, nella parte destra del pannello, l'icona New, selezionata la quale si accede alla schermata in figura a sx. In filename va inserito il nome della partizione da creare che può avere una dimensione minima di 5 kilobyte e massima pari alla capacità del drive. Il campo description costituisce un aiuto mnemonico sul contenuto del disco, e può essere omesso senza alcun problema. Algorithm consente di scegliere l'algoritmo che BestCrypt usa , in seguito, per cifrare i dati della partizione. Le opzioni proposte sono Blowfish, Gost, DES e Twofish.Key generator  chiede all'utente di scegliere tra gli algoritmi SHA-1 e GOST per la generazione della chiave.

Page 18: Corso Sicurezza a.a. 2002/2003 Sistemi Software di Crittografia Danilo Forghieri 1998s008@educ.disi.unige.it.

Creazione di un nuovo volumeCiò che appare a questo punto è illustrato nella figura in alto: all'utente viene richiesto di digitare una qualunque sequenza di caratteri dalla tastiera, che verranno utilizzati da BestCrypt come numeri casuali per la generazione della chiave. Location richiede di specificare il drive nel quale risiederà la partizione cifrata. Spuntando la checkbox Mount and format now, indichiamo a BestCrypt che vogliamo montare e formattare il disco virtuale subito dopo la sua creazione. Per la formattazione verrà, successivamente, richiesto il tipo di filesystem che si intende utilizzare sul disco virtuale (FAT o NTFS). In Mount drive va specificata l'etichetta di volume, con la quale il sistema operativo identificherà l'unità virtuale cifrata. Stabilite le impostazioni preliminari, si avvia la creazione del contenitore con Create. Immediatamente viene richiesta password e conferma della password tramite una finestra di dialogo. Nel esempio, il programma crea il contenitore Hidden.jbc ( l'estensione *.jbc sta per Jedico BestCrypt). Le impostazioni scelte per il contenitore vengono riportate nel pannello di controllo come mostrato nella figura in basso a dx.

Page 19: Corso Sicurezza a.a. 2002/2003 Sistemi Software di Crittografia Danilo Forghieri 1998s008@educ.disi.unige.it.

Montare un volumeCon un doppio click sul nome del contenitore si può montare l'unità virtuale, previo inserimento di etichetta di riferimento (nella casella Drive della finestra di dialogo in figura a sx) e password, rendendola così pronta all'uso.

Se al momento della creazione non viene specificata alcuna etichetta, questa verrà assegnata automaticamente da BestCrypt, con la possibilità per un utente autorizzato di cambiarla in qualsiasi momento. BestCrypt provvede a cifrare i dati quando questi vengono scritti sull'unità virtuale, e li decifra ogni volta che un'applicazione ne richiede la lettura. Queste operazioni sono completamente trasparenti all'utente e all'applicazione.

Page 20: Corso Sicurezza a.a. 2002/2003 Sistemi Software di Crittografia Danilo Forghieri 1998s008@educ.disi.unige.it.

Smontare un volumePer smontare un volume e rendere, quindi, non più disponibile l'accesso ai dati cifrati, bisogna selezionare la voce Dismount dal menu Container oppure dal menu contestuale che compare con un click del tasto dx del ma uose sull’icona del volume in quesione. BestCrypt impedisce che un volume venga smontato qualora vi siano dei file aperti.Vi sono dei particolari casi in cui BestCrypt smonta il volume automaticamente, senza che l'utente debba intervenire. Ad esempio, un volume viene smontato dopo un lungo periodo di inattività della macchina. Inoltre, qualora il sistema venga spento senza smontare il volume, per evitare una perdita di dati, BestCrypt chiude tutti i file aperti del volume e smonta il volume.

In caso di necessità è sufficiente un doppio click sull’icona del programma nella tray bar per smontare immediatamente tutti i volumi attivi !

Page 21: Corso Sicurezza a.a. 2002/2003 Sistemi Software di Crittografia Danilo Forghieri 1998s008@educ.disi.unige.it.

Cambiare le proprietà di un volumeUn’utente può avere la necessita di cambiare alcune proprietà del disco virtuale che ha creato. Selezionando properties dal menu di contesto del contenitore e, successivamente, la voce BestCrypt, viene richiesto l'inserimento della password. Appare la schermata in figura.

Tramite questa finestra di dialogo è possibile modificare tutti i parametri relativi al volume. Prima, però, è necessario smontarlo.

Page 22: Corso Sicurezza a.a. 2002/2003 Sistemi Software di Crittografia Danilo Forghieri 1998s008@educ.disi.unige.it.

Cifrare lo swap spaceBestCrypt prevede inoltre di poter criptare (scegliendo tra 4 distinti algoritmi) il file di swap di windows il quale potrebbe contenere dati sensibili , come le passphrase digitate in precedenzaIn figura viene mostrato il menu e la finestra per attivare la fase di criptazione.

Page 23: Corso Sicurezza a.a. 2002/2003 Sistemi Software di Crittografia Danilo Forghieri 1998s008@educ.disi.unige.it.

Service Manager di BestCryptCon BestCrypt è possibile variare l'insieme degli algoritmi utilizzati per la cifratura e la generazione della chiave. Services manager è il software che semplifica il processo di installazione di nuovi algoritmi. La figura mostra la schermata principale di Services manager.

Per ampliare l'insieme di algoritmi a disposizione è necessario cliccare su Add e richiamare il driver dell'algoritmo che si desidera aggiungere (in genere un file con estensione .sys). Da questo momento in poi l'algoritmo è a disposizione di BestCrypt per cifrare e decifrare i dati.In maniera analoga, Remove consente di eliminare un algoritmo. E' importante tener presente che dopo la rimozione, è impossibile decifrare un contenitore per il quale è stato specificato quell'algoritmo.

Page 24: Corso Sicurezza a.a. 2002/2003 Sistemi Software di Crittografia Danilo Forghieri 1998s008@educ.disi.unige.it.

PGP: criptare singoli file/cenellazione sicuraSpesso non ci interessa utilizzare volumi criptati, ma semplicemente evitare l’accesso a informazioni contenute in un singolo file.

Sarebbe opportuno cancellare (wipe)

l’originale in chiaro in maniera sicura !

Page 25: Corso Sicurezza a.a. 2002/2003 Sistemi Software di Crittografia Danilo Forghieri 1998s008@educ.disi.unige.it.

PGP: cifratura di un messaggio e-mail1°) Scivere testo messaggio

2°) Cifrare la finestra attiva

3°) Scelta chiave pubblica destinatario

4°) invio messaggio

Page 26: Corso Sicurezza a.a. 2002/2003 Sistemi Software di Crittografia Danilo Forghieri 1998s008@educ.disi.unige.it.

E’ il predecessore di BestCrypt, sempre sviluppato dalla Jetico ma non più supportato ha la caratteristica di essere freeware e oltre di criptare e montare volumi è dotato di una funzionalità di steganografia utilizzando file .bmp, .gif, .wav.Utilizza diversi sistemi crittografici trai quali:

•Summer1•Blowfish(256 bit)•Tea (128 bit)•Idea (128 bit)•Des (56 bit !!!)•Square (128 bit)•Misty (128 bit)

L’unica pecca è che non supporta solo filesystem FAT

ScramDisk

Page 27: Corso Sicurezza a.a. 2002/2003 Sistemi Software di Crittografia Danilo Forghieri 1998s008@educ.disi.unige.it.

S-TOOLS: Non solo cifratura !

S-Tools v.4 è un software freeware per windows per steganografia. Supporta come carrier (file portatore di dati nascosti) file con estensione .bmp, .gif e .wav

Nascondere file in un carrier con S-TOOLS è estremamente facile in quanto le operazioni di hide/unhide sono gestite solamente tramite drag and drop, per cui per nascondere un file è sufficiente trascinare il file scelto come carrier nella finestra Actions, successivamente trascinare sulla finestra corrispondente il file che si vuole occultare, inserire una passphrase e scegliere un algoritmo di cifratura.

S-TOOLS supporta 4 tipi di algoritmi di cifratura: IDEA, DES, 3DES, MDC

Page 28: Corso Sicurezza a.a. 2002/2003 Sistemi Software di Crittografia Danilo Forghieri 1998s008@educ.disi.unige.it.

Nascondere e cifrare un file

Cliccare col tasto secondario del mouse e scegliere save (o save as …) per salvare il file con dentro le informazioni celate

Page 29: Corso Sicurezza a.a. 2002/2003 Sistemi Software di Crittografia Danilo Forghieri 1998s008@educ.disi.unige.it.

Rivelare e decifrare un file Trascinare il file che si ritiene contenga dati celati nella finestra Actions. Dal menù di contesto scegliere Reveal e digitare la passphrase.

Se il file contiene dati nascosti e la passphrase è corretta comparirà la lista dei file occultati !

Al contrario S-Tools non dirà né che la passphrase è scorretta né che il file non contiene dati nascosti !

Page 30: Corso Sicurezza a.a. 2002/2003 Sistemi Software di Crittografia Danilo Forghieri 1998s008@educ.disi.unige.it.

Linux: Volumi criptati tramite loop driveIl Kernel di linux a partire dalla versione 1.3 ha un supporto integrato per la gestione di filesysten criptati.Usando loopback-device criptati è facile creare filesystem criptati i quali posso essere comodamente montati quando richiesto.Per fare ciò in linux si utilizza come strumento il comando losetup (vedere man losetup per dettagli) che normalmente utilizza la semplice cifratura XOR o la più sicura ma più lenta DES.In realtà nella recente versione di LINUX Mandrake 9.0 viene supportata la loop-AES che usa come algoritmo RIJNDAELPer creare un loop device criptato di 1M, ad esempio si devono usare i comandi

dd if=/dev/zero of=/secure bs=1k count=1024/sbin/losetup -e des /dev/loop0 /secure Password: <enter your password here> Init (up to 16 hex digits): <enter a hex initialisation code here>mkfs -t ext2 /dev/loop0 1024

Una volta creato il filesyetem può essere poi montato/smontato come qualunque altro con i comandi:mount -t ext2 /dev/loop0 /mnt/secure umount /dev/loop0 /sbin/losetup -d /dev/loop0

NOTA:Mandrake può anche criptare la partizione di swap sostituendo la parola "default" con "encrypted" alla riga contenete swap nel file /etc/fstab.

Oltre alla creazioni di volumi criptati ,Linux supporta anche la gestione di partizioni criptate le quali posso essere ottenute da spazio disco non formattato e attivando l’opportuno tool di gestione e formattazione di partizioni, come ad esempio il Control center della distribuzione Mandrake.

Page 31: Corso Sicurezza a.a. 2002/2003 Sistemi Software di Crittografia Danilo Forghieri 1998s008@educ.disi.unige.it.

Mkcryptfs: uno script per la creazione il mount e unmount di volumi criptati tramite loop-AES

Navigando in internet si trova uno script realizzato da un certo Michel Buissou e reso disponibile in maniera gratuita all’indirizzo :

https://www.bouissou.net/wws/d_read/open-crypto/linux-crypto/mkcryptfs

che permette di semplificare le procedure di creazione e gestione di un volume criptato tramite loop-device (loop-AES RIJNDAEL).

Tale script si chiama mkcryptfs e il suo semplice utilizzo è qui brevemente riassunto:

Creare Un volume

mkcryptfs danilo secret 500 Crea un volume criptato chiamato secret di dimensione 500MB nella homedir dell’utente danilo. (una cartella e un file rispettivamente chiamati: secrete e .secret)

Per la creazione viene richiesta una passphrase di almeno 20 carattteri

Montare/Smontare un volume

danilo$ mount ~danilo/secret (viene chiesta la passhrase). E il disco criptato sarà localizzato in /home/danilo/secret

danilo$ umount ~danilo/secret per smontare il volume criptato

Page 32: Corso Sicurezza a.a. 2002/2003 Sistemi Software di Crittografia Danilo Forghieri 1998s008@educ.disi.unige.it.

Altri sw e patch per Linux•Encrypted Home Directorys Patch (http://members.home.net/id-est/)

•CFS - Cryptographic File System (ftp://research.att.com/dist/mab/)

•TCFS - Transparent Cryptographic Filesystem (http://tcfs.dia.unisa.it/)

•ppdd - Practical Privacy Disc Driver (http://linux01.gwdg.de/~alatham/ppdd.html)

•sfs - steganographic file system for Linux (http://leg.uct.ac.za/~carl/vs3fs/)

•StegFS - A Steganographic File System for Linux

(http://ban.joh.cam.ac.uk/~adm36/StegFS/)

•Cryptfs (http://www.cs.columbia.edu/~ezk/research/cryptfs/index.html)

•Mycrypt (http://mcrypt.hellug.gr/) (Estensione del vecchio comando crypt)

•Harden Criminal – One-time-pad open source !!!

(http://darkstar.bast.net/info/encryption/hardened.html) (Chiave lunga quanto il documento da cifrare)

Commerciali (Creazione volumi criptati)

•BestCrypt (www.jetico.com)

•Virtual Private Disk (http://www.vpdisk.com/)

Page 33: Corso Sicurezza a.a. 2002/2003 Sistemi Software di Crittografia Danilo Forghieri 1998s008@educ.disi.unige.it.

Consigli Bibliografici

•Codice & segreti

(La storia affascinante dei messaggi cifrati dall’antico Egitto a Internet) Simon Singh Ed. BUR Saggi

•Segreti, Spie, Codi[ci]frati

C. Giustozzi, A. Monti, E. Zimuel Ed. APOGEO

Per chi preferisce i romanzi:

•Enigma

•Cryptonomicon

Neal Stephenson Ed.

Rizzoli (1150 pagine … Siete avvertiti !)