Truecrypt® - Installazione per Debian

Da Guide@Debianizzati.Org.
Vai alla navigazione Vai alla ricerca
Edit-clear-history.png Attenzione. Questa guida è da considerarsi abbandonata, per via del tempo trascorso dall'ultima verifica.

Potrà essere resa obsoleta, previa segnalazione sul forum, se nessuno si propone per l'adozione.


Debian-swirl.png Versioni Compatibili

Debian 5 "lenny"
Debian 6 "squeeze"
ATTENZIONE: questa guida tratta software potenzialmente non conforme alle Debian Free Software Guidelines.

Premessa

Truecrypt® [1] (d'ora in avanti indicato come programma) è un'applicazione software per la cifratura simmetrica di dischi (e loro partizioni) o per la creazione di file cifrati che ne emulano partizioni virtuali. Esso è fornito dalla TrueCrypt Developers Association (d'ora in avanti indicato come fornitore) che ne detiene il copyright e ne ha registrato il marchio [2].
Il programma è prelevabile all'indirizzo internet http://www.truecrypt.org/downloads sia in formato binario eseguibile che come codice sorgente per diversi sistemi operativi [3] tra cui GNU/Linux.
Il programma non è disponibile nell'area main dei repository ufficiali Debian ed è ancora discusso se la sua licenza d'uso [4] possa essere considerata conforme [5][6] alle Debian Free Software Guidelines [7].
Attualmente, nell'ambito del progetto Debian, è in corso la valutazione della possibilità tecnica di realizzare un'installatore che però non è disponibile al momento dell'ultimo aggiornamento della presente guida [8]. Conseguentemente, in Debian GNU/Linux il programma dovrà essere installato necessariamente dal codice sorgente oppure utilizzando il codice binario eseguibile entrambi acquisiti dal fornitore dopo aver opportunamente predisposto il sistema operativo ed aver accettato la licenza d'uso.
Con l'occasione si ricorda che l'ecosistema Debian GNU/Linux offre altre soluzioni software (ad esempio, LUKS [9][10][11]) compatibili con le Debian Free Software Guidelines e le cui funzionalità sono, in parte, analoghe a quelle del programma qui trattato.

Pre-requisiti

I seguenti pre-requisiti sono necessari:

  • sistema operativo Debian GNU/Linux già installato [12]
  • collegamento configurato e funzionante alla rete dati internet
  • sistema di gestione dei repository Debian configurato e funzionante [13]

Obiettivo

Il presente documento intende fornire istruzioni operative esemplificative della compilazione da codice sorgente e successiva installazione del programma con i privilegi di un'utenza ordinaria usando Debian GNU/Linux. Il programma, pertanto, sarà installato localmente al percorso della home directory dell'utenza considerata. Si precisa che la presente guida non intende sostituirsi alla documentazione ufficiale del programma [14] la cui completa e approfondita lettura è in ogni caso fortemente raccomandata.

Istruzioni operative

I comandi indicati sono da eseguire con i privilegi dell'utenza ordinaria tramite cui si intende successivamente avviare il programma adoperando un terminale a carattere in ambiente testuale o grafico: nel codice di seguito riportato è utilizzato a scopo esemplificativo il nome utente utente. Per verificare il proprio nome utente, è possibile impartire il comando:

$ whoami

Quando, per talune operazioni, sono richiesti i privilegi dell'amministratore di sistema, è utilizzato il comando su nel qual caso ne è richiesta la relativa password. Il simbolo $ rappresenta il prompt del terminale per l'utenza ordinaria (diversa da quella dell'amministratore di sistema e corrispondente a #).

Acquisizione del codice sorgente e della relativa firma digitale

Il codice sorgente e la firma digitale per la verifica del contenuto devono essere prelevati manualmente dal sito internet del fornitore[15] previa accettazione obbligata della licenza d'uso. In tale guida si assumerà che:

  • il file del codice sorgente abbia il nome "TrueCrypt 7.0a Source.tar.gz"
  • la firma digitale per la sua successiva verifica di integrità abbia il nome "TrueCrypt 7.0a Source.tar.gz.sig"
  • il codice sorgente del programma prelevato dal sito internet del fornitore sia stato registrato nella home directory dell'utenza adoperata

Resta inteso che i nomi sopra indicati hanno finalità esemplicativa e, pertanto, i comandi di seguito indicati dovranno essere adattati in funzione di essi.

Predisposizione del sistema operativo

I comandi di seguito indicati installano gli ulteriori programmi e librerie richieste per la compilazione e il funzionamento del programma:

$ su 
# aptitude install sudo wget build-essential nasm libfuse-dev pkg-config wx2.6-headers libwxgtk2.8-dev
# exit

Verifica integrità codice sorgente

I comandi di seguito indicati effettuano il download dei dati relativi alla chiave pubblica del fornitore del programma e la successiva verifica di integrità del file prelevato contenente il codice sorgente:

$ gpg --keyserver subkeys.pgp.net --recv F0D6B1E0
$ gpg --verify "TrueCrypt 7.0a Source.tar.gz.sig" "TrueCrypt 7.0a Source.tar.gz"


In caso di esito negativo (integrità non confermata!), si otterrà, invece, il seguente output:

gpg --verify "TrueCrypt 7.0a Source.tar.gz.sig" "TrueCrypt 7.0a Source.tar.gz"
gpg: Signature made dom 05 set 2010 18:47:20 CEST using DSA key ID F0D6B1E0
gpg: BAD signature from "TrueCrypt Foundation <info@truecrypt-foundation.org>"


In caso di esito positivo, si otterrà il seguente output:

gpg: Signature made dom 05 set 2010 18:47:20 CEST using DSA key ID F0D6B1E0
gpg: Good signature from "TrueCrypt Foundation <info@truecrypt-foundation.org>"
gpg:                 aka "TrueCrypt Foundation <contact@truecrypt.org>"
gpg: ATTENZIONE: questa chiave non è certificata con una firma fidata!
gpg:          Non ci sono indicazioni che la firma appartenga al proprietario.
Impronta digitale della chiave primaria: C5F4 BAC4 A7B2 2DB8 B8F8  5538 E3BA 73CA F0D6 B1E0

Inoltre, è utile far presente che il download della chiave pubblica del fornitore richiede l'accessibilità della porta internet 11371 e pertanto l'eventuale firewall del computer in cui avviene l'installazione dovrà essere conseguentemente configurato perchè il comando gpg --keyserver subkeys.pgp.net --recv F0D6B1E0 possa aver successo.

Decompressione del file contenente il codice sorgente

$ tar xf "TrueCrypt 7.0a Source.tar.gz"
$ cd truecrypt-7.0a-source/

Download di ulteriore codice sorgente

I comandi di seguito indicati effettuano il download di ulteriore codice sorgente non disponibile nei repository Debian e richiesto ai fini della compilazione:

$ wget ftp://ftp.rsasecurity.com/pub/pkcs/pkcs-11/v2-20/*.h

Compilazione e linking

I comandi di seguito indicati creano il codice binario eseguibile del programma:

$ export PKCS11_INC=$PWD;make

Installazione

I comandi di seguito indicati copiano (installano) il programma nella directory ~/truecrypt-7.0a:

$ cd Main
$ mkdir -p ~/truecrypt-7.0a
$ cp truecrypt ~/truecrypt-7.0a
$ cd ../..

Il programma, pertanto, sarà installato localmente alla home directory dell'utenza adoperata.

Configurazione di sudo

Il file di configurazione /etc/sudoers deve essere modificato per istruire il comando sudo ad eseguire il programma con i privilegi dell'utente 'root' per le operazioni di 'mount' (per maggiori dettagli sul comando sudo è possibile far riferimento alla specifica guida del forum [16]). A tal fine, si può impartire il comando:

$ su -c "visudo"

Si riporta, a scopo esemplificativo, la configurazione di default di /etc/sudoers con le necessarie integrazioni (evidenziate in grassetto) e dove al posto di utente dovrà essere riportata il nome utente dell'utenza effettivamente adoperata:

# /etc/sudoers
#
# This file MUST be edited with the 'visudo' command as root.
#
# See the man page for details on how to write a sudoers file.
#

Defaults        env_reset

# Host alias specification

# User alias specification

# Cmnd alias specification
Cmnd_Alias  TC=/home/utente/truecrypt-7.0a/truecrypt --core-service

# User privilege specification
root    ALL=(ALL) ALL
utente  ALL=TC

# Uncomment to allow members of group sudo to not need a password
# (Note that later entries override this, so you might need to move
# it further down)
# %sudo ALL=NOPASSWD: ALL

Aggiunta nome utente al gruppo fuse

Il comando di seguito indicato aggiunge l'utente utente (da sostituire con il nome utente dell'utenza adoperata effettivamente a tal fine) al gruppo fuse:

su -c "adduser utente fuse"

Avvio del programma

A questo punto, dopo aver eseguito un logout dal terminale e successivo login, per eseguire il programma è possibile impartire il comando da terminale:

cd ~/truecrypt-7.0a
./truecrypt

Commenti

I commenti a questo documento sono richiesti e ben accetti; possono essere inoltrati nella sezione Guide@Debianizzati.Org del forum.
In caso di osservazioni tecniche relativamente alle istruzioni sopra riportate si prega di fornire a corredo un file di log di tutti i comandi impartiti con i relativi output: a tal fine, è possibile ricorrere al comando script</script> come indicato nella guida per la formulazione dei quesiti tecnici [17].

Riferimenti

  1. Truecrypt®, Home Page, http://www.truecrypt.org/
  2. Truecrypt®, Trademarks, http://www.truecrypt.org/legal/trademarks
  3. Truecrypt®, Supported operating systems, http://www.truecrypt.org/docs/?s=supported-operating-systems
  4. Truecrypt®, License, http://www.truecrypt.org/legal/license
  5. Debian Legal Mailing List, http://lists.debian.org/debian-legal/2006/06/msg00294.html
  6. Debian User Forums, http://forums.debian.net/viewtopic.php?t=4015
  7. Debian Free Software Guidelines, http://www.debian.org/social_contract#guidelines
  8. Debian Bug Tracking System, RFP: truecrypt-installer -- Make *.deb packages out of Truecrypt sources, http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=413070
  9. Linux Unified Key Setup, Setup virtual encryption devices under dm-crypt Linux, http://code.google.com/p/cryptsetup/
  10. Guide@Debianizzati.Org, Volumi criptati LUKS - Creazione e uso con cryptmount, http://guide.debianizzati.org/index.php/Volumi_criptati_LUKS_-_Creazione_e_uso_con_cryptmount
  11. Guide@Debianizzati.Org, LUKS gestione manuale dei volumi: cryptsetup, http://guide.debianizzati.org/index.php/LUKS_gestione_manuale_dei_volumi:_cryptsetup
  12. Guide@Debianizzati.Org, Installazione, http://guide.debianizzati.org/index.php/Indice_Guide#Installazione
  13. Guide@Debianizzati.Org, I repository ed il loro utilizzo, http://guide.debianizzati.org/index.php/I_repository_ed_il_loro_utilizzo
  14. Truecrypt®, Documentation, http://www.truecrypt.org/docs/
  15. Truecrypt®, Source code downloads, http://www.truecrypt.org/downloads2
  16. Guide@Debianizzati.Org, Configurare SUDO per gestire le attività degli amministratori, http://guide.debianizzati.org/index.php/Configurare_SUDO_per_gestire_le_attivit%C3%A0_degli_amministratori15) Forum Debianizzati, Sezione "Guide del forum", http://forum.debianizzati.org/viewforum.php?f=25
  17. Forum Debianizzati, Sezione Guide@Debianizzati.Org, http://forum.debianizzati.org/viewforum.php?f=25 Guide@Debianizzati.Org
  18. Guide@Debianizzati.Org, Come formulare quesiti tecnici al forum, http://guide.debianizzati.org/index.php/Come_formulare_quesiti_tecnici_al_forum

Autore: : Aki