|
|||||
---- versione preliminare ---- SharEncryptGuida utente
InstallazioneIl programma è stato testato su Windows NT/2000/XP. Dovrebbe
funzionare anche su Windows 98; comunque non è in programma supportare
questa piattaforma.
Queste chiavi verranno comunque tutte rimosse da un'eventuale procedura di disintallazione così da non lasciare alcuna traccia sul sistema. A cosa serve questo programma?SharEncrypt è un'utilità di sicurezza
progettata per fornire cifratura forte di file in un ambiente
condiviso. Il programma è utile in tutti quei casi in cui è necessario
preservare la riservatezza dei dati tra gruppi di utenti. Un esempio
pratico è dato da un gruppo di utenti divisi logicamente in gruppi ma
che utilizzano la stessa rete (ad esempio una LAN aziendale). Questi
utenti possono utilizzare SharEncrypt quando devono condividere dati
confidenziali solo all'interno del proprio gruppo (impedendo, cioè,
agli utenti degli altri gruppi di accedere al contenuto di tali dati).
Un altro esempio è dato dall'utilizzo del programma in combinazione con
un programma qualsiasi di file sharing (ad esempio Kazaa): solo gli
utenti autorizzati possono accedere al contenuto dei file condivisi,
gli altri vedono solo byte senza significato... Ok, ma come funziona?L'idea di base è semplice: l'utente crea una
directory speciale (chiamata directory SharEncrypt) e definisce una
lista di utenti destinatari associati ad essa. Da questo momento
chiunque può inserire file in questa directory ma ogni file inserito
verrà automaticamente cifrato in modo tale che solo gli utenti
appartenenti alla lista definita in precedenza saranno in grado di
decifrare tali file. SharEncrypt permette di creare differenti
directory, ognuna col proprio insieme di utenti destinatari associato.
Questi insiemi possono inoltre essere cambiati dinamicamente (i
destinatari possono essere tolti o aggiunti all'insieme anche dopo la
sua creazione). L'utente che crea la directory e gestisce l'insieme dei
destinatari è detto amministratore della directory.
Questi problemi sono stati affrontati
utilizzando tecniche di crittografia a chiave pubblica. Ogni utente è
identificato dal proprio certificato digitale X.509 e viene utilizzato
un meccanismo di firma digitale per autenticare le proprietà delle
directory. Se questa roba suona nuova, quì e quì ci sono
buoni punti di partenza. Inoltre si utilizzano algoritmi di hash per
monitorare automaticamente eventuali cambiamenti nelle proprietà di una
directory ogni volta che l' utente effuttua una cifratura di file. Tali
file vengono cifrati per i destinatari appropriati utilizzando (la
chiave pubblica contenuta nel) loro certificato. La libreria OpenSSL fornisce le primitive
crittografiche necessarie per questi compiti. Per chi è interessato, la
firma e la cifratura sono implementati utilizzano lo standard
PKCS#7. Gli algoritmi simmetrici disponibili comprendono AES, DES,
3-DES, Blowfish, CAST, IDEA, RC2, RC4, RC5. Le chiavi private
(utilizzate per firmare le proprietà di una directory oppure per la
decifratura) possono essere di tipo RSA
o DSA.
Inoltre queste chiavi sono supportate indifferentemente nelle codifiche
PKCS#12 (Microsoft pfx),
PKCS#8 o OpenSSL. Creare una nuova directory SharEncryptSelezionare il menù Directory > Crea Nuova. Verrà avviato un wizard di 4 passi.
La directory appena creata verrà aggiunta nell'albero “Directory” nel pannello destro della finestra principale. Controllare le proprietà di una directorySelezionare il menù Directory
>Proprietà Directory per
attivare la finestra delle proprietà. Quindi (la finestra è non modale)
selezionare una directory dall'albero per vederne le proprietà.
Cliccare il bottone Dettagli per visualizzare i dettagli dei
certificati. Ognuno dei certificati visualizzati può anche essere
estratto e salvato in un file separato cliccando il bottone
Estrai. La lista dei destinatari,
cioè gli utenti in grado di decifrare i file inseriti nella directory,
mostra solo il Common Name dei certificati di tali utenti. Aggiungere e rimuovere directorySelezionare il menù Directory >Aggiungi e selezionare la directory da aggiungere. Per rimuovere una directory basta selezionarla e attivare il menù Directory > Rimuovi. Le directory rimosse non vengono cancellate dallo hard disk ma vengono semplicemente cancellate dall'albero delle directory. L'albero può contenere sia directory normali che directory SharEncrypt. Queste ultime sono rappresentate da un icona con un piccolo lucchetto rosso (se sono stati settati i parametri per la decifratura, vedi qui) oppure giallo (se è possibile solo inserire file nella directory). Cifrare fileSelezionare una directory SharEncrypt (luccheto giallo o rosso) dall'albero, quindi selezionare il menù Cifratura > Cifra File o, alternativamente, selezionare i file da cifrare dalla lista, cliccare col tasto destro quindi selezionare Cifra i File Selezionati in > dal menù popup e scegliere la directory destinazione tra quelle mostrate. Verrà visualizzato il dialog di cifratura; cliccare il bottone OK per avviare la cifratura. Un report con l'esito delle operazione effettuate verrà mostrato alla fine del processo. La procedura chiederà conferma prima di sovrascrivere qualunque file eventualmente già esistene. La cifrautura verrà effettuata utilizzando l'agoritmo selezionato. Note
Note sulla sicurezza
Decifrare fileE' possibile decifrare file solo da una directory SharEncrypt con lucchetto rosso. Selezionare uno o più file da decifrare, quindi selezionare il menù Cifratura > Decifra o cliccare con il tasto destro sui file e selezionare Decifra. Verrà attivato il dialog per la decifratura. Selezionare la directory destinazione e cliccare OK per avviare il processo di decifratura. Verrà richiesta la password di accesso alla chiave privata. Controllare i destinatari di un singolo fileDal momento che l'amministratore può modificare dinamicamente la lista degli utenti destinatari associata ad una directory e poichè tale modifica non riguarda i file cifrati precedentemente in quella directory, è possibile controllare la lista dei riceventi associata ad un singolo file per vedere se si è in tale lista e quindi se si è abilitati alla decifratura. Selezionare il file, quindi attivare il menù Cifratura > Mostra utenti destinatari per questo file o, alternativamente, cliccare con il tasto destro e selezionare Mostra utenti destinatari per questo file dal menù popup. Settare i parametri per decifrarePer poter decifrare file da una directory SharEncrypt occorre settare la chiave privata e il certificato da utilizzare (naturalmente gli oggetti selezionati devono corrispondere ad uno dei destinatari settati per quella directory). Selezionare la directory SharEncrypt prescelta, quindi selezionare il menù Directory > Parametri per la decifratura o, alternativamente, cliccare con il tasto destro sulla directory. Selezionare la chiave privata e il certificato e premere OK. Un lucchetto rosso comparirà sulla directory. Aggiungere e rimuovere destinatariLa lista dei destinatari può essere aggiornata
(solo dall'amministratore) per aggiungere o rimuovere utenti.
Selezionare la directory SharEncrypt prescelta, quindi selezionare il
menù Directory > Gestion utenti o, alternativamente, cliccare con il tasto
destro sulla directory. Verrà attivato il dialog per la gestione degli
utenti. Aggiornare la lista e cliccare OK. Verrè richiesta la password di accesso
alla chiave privata dell'amministratore, che sarà utilizzata per
firmare il nuovo file delle proprietà “.SharEncrypt”.
Cifrare file (password based encryption)Se non è necessario condividere i file cifrati tra più utenti, e possibile considerare l'utilizzo del metodo di cifratura con password. Con questo metodo non sono necessari nè certificati nè tantomeno chiavi private: basta solo digitare una password (da non dimenticare!!) per cifrare il file. Per usare questo modalità cliccare sul menù Cifratura > Cifra/decifra con password oppure selezionare i file da cifrare, cliccare con il tasto destro il menù popup Cifra/decifra con password. Verrà attivato il dialog per la cifratura con password. Selezionare l'operazione (cifratura/decifratura), la directory di destinazione e cliccare OK. La procedura chiederà conferma prima di sovrascrivere qualunque file eventualmente già esistente. La cifrautura verrà effettuata utilizzando l'algoritmo selezionato. Note
Note di sicurezza
Opzioni del programmaSelezionare il menù Visualizza > opzioni per attivare il dialog delle opzioni. Il primo campo mostra una lista dalla quale selezionare l'algoritmo simmetrico per cifrare (sia per la cifratura con certificati che con password). Al momento gli algoritmi supportati sono AES, CAST, DES, DESX, IDEA, Blowfish, RC2, RC4, RC5. I nomi presenti nella lista sono autoesplicativi (dare un'occhiata qui e qui per una descrizione più dettagliata). Nel campo Text Editor è possibile selezionare il programma da utilizzare come text editor (per esempio notepad, wordpad, ultraedit...). Il campo successivo consente di scegliere il tool per la cancellazione sicura di file (vedi sotto per i dettagli). L'ultimo campo rigurda la lingua da utilizzare. Al momento sono supportati solo Italiano e Inglese. Occorre chiudere e riavviare il programma per attivare una nuova lingua. Cancellazione sicura di fileCifrare file non ha molto senso se i dati
originali non sono rimossi con cura dal disco rigido. Questo vale
ancora di più in ambienti condivisi. Il problema è che un file non
viene realmente rimosso quando viene cancellato; il sistema operativo
aggiorna semplicemente la sua tabella interna di file, lasciando i dati
sul disco rigido finchè qualche altro file non li sovrascriva. E'
quindi molto semplice recuperare questi file prima che vengano
sovrascritti (ci sono decine di programmi disponibili su Internet). Il
periodo di tempo in cui i file sono ancora disponibili sul disco rigido
può durare anche giorni o mesi (dipende dalla grandezza del file,
dall'attività del disco, dalla sua grandezza ecc.). Per questa ragione
i dati devono essere rimossi in modo sicuro. Questo è un argomento
vasto (ecco una
lettura tecnica). In giro ci sono molti buoni programmi per questo (qui c'è uno gratuito ottimo).
Per convenienza, SharEncrypt integra questa funzionalità permettendo
all'utente di lanciare un tool esterno di sua scelta per la
cancellazione sicura. Personalmente raccomando sdelete.
E' gratuito, piccolo e sicuro. Basta scaricarlo e selezionare il menù Visualizza
> Opzioni e
selezionare il percorso di
sdelete.exe come programma per la cancellazione sicura. Nel campo
Parametri aggiuntivi per la linea di comando personalmente
inserisco -p 16. Basta digitare “sdelete.exe /?” in una shell DOS per
avere ulteriori informazioni su sdelete. ATTENZIONE Questa funzionalità va utilizzata con cura. Non c'è ALCUN modo di recuperare i file cancellati. Known bugs
DemoNella directory SharEncrypt installata c'è una directory
“Demo” che contiene chiavi private e certificati di esempio da poter
utilizzare come test. Questi oggetti sono stati ottenuti con una
procedura di 5 minuti da CA commerciali reali (Trust Center e Digital Signature Trust)
usando il browser Internet Explorer. Dal browser questi oggetti sono
poi stati esportati nella sottodirectory “Private” (la chiave privata e
il certificato come file .pfx) e nella sottodirectory “CERTS” (il
certificato come in formato binario in un file .der). Inoltre, questi
oggetti sono stati convrtiti in altri formati (usando il tool openssl.exe ) per dimostrare come
SharEncrypt possa gestirli. Il formato aggiuntivo per i certificati è
il formato PEM (si veda come esempio il file CERTS\mariorossi.pem). Per
la chiave privata gli altri formati sono (esempi presi dalla directory
“Private\mario rossi”):
La password di accesso per tutte le chiavi private è “password”. Sviluppi futuriOltre a rivedere le procedure per la sicurezza, la
caratteristica più interessante da implementare nel futuro consiste
nell'utilizzo di chiavi private immagazzinate su dispositivi hardware
(tipicamente smart card PKCS#11). Ho già dei pezzi preliminari di
codice da testare, ma penso di essere ancora lontano da una versione
stabile. Contattare
Copyright © 2004 Marco Russo. SharEncrypt project hosted by |