Configurazione di volumi cifrati
&d-i; consente di preparare delle partizioni cifrate; ogni file scritto su
partizioni di questo tipo viene immediatamente salvato sul device usando
un formato cifrato. L'accesso ai dati cifrati è permesso solo dopo aver
inserito la passphrase scelta alla creazione della
partizione cifrata. Questa funzionalità è utile per proteggere i dati
sensibili nel caso di furto del proprio portatile o del proprio disco
fisso, il ladro potrebbe avere accesso fisico al disco fisso ma senza
conoscere la passphrase corretta, i dati sul disco risultano essere una
sequenza casuale di caratteri.
Le partizioni più importanti da cifrare sono: la partizione home, in cui
risiedono i dati privati, e la partizione di swap, in cui durante la normale
attività potrebbero essere temporaneamente memorizzati dei dati sensibili.
Ovviamente nulla vieta di cifrare qualsiasi altra partizione. Per esempio
in /var i database server, i mail server o i print
server salvano i propri dati, oppure /tmp è usata da
vari programmi per memorizzare dei file temporanei potenzialmente importanti.
Si potrebbe anche voler cifrare l'intero sistema; l'unica partizione che
deve rimanere non cifrata è la /boot perché, al
momento, non c'è modo di caricare il kernel da una partizione cifrata.
Le prestazioni di una partizione cifrata sono inferiori rispetto a quelle
di una partizione tradizionale perché i dati devono essere decifrati o
cifrati a ogni lettura o scrittura. L'impatto sulle prestazioni dipende
dalla velocità della CPU, dal cifrario scelto e dalla lunghezza della
chiave.
Per usare la cifratura è necessario creare una nuova partizione dopo aver
selezionato dello spazio libero dal menu principale di partizionamento.
Un'altra possibilità è selezionare una partizione esistente (per esempio
una normale partizione, un volume logico di LVM o un volume RAID). Dal
menu Impostazioni della partizione si deve scegliere
volume fisico per la cifratura come valore del
campo Usato come: . Il menu
cambia in modo da visualizzare le opzioni relative a come cifrare la
partizione.
&d-i; supporta più metodi di cifratura. Il metodo predefinito è
dm-crypt (incluso nei nuovi kernel Linux
e in grado di ospitare volumi fisici per LVM), l'altro metodo è
loop-AES (più vecchio e manutenuto
separatamente dai sorgenti del kernel Linux). Se non esistono
ragioni impellenti per fare altrimenti si raccomanda di utilizzare
il metodo predefinito.
Prima vediamo quali sono le opzioni disponibili quando si sceglie
Device-mapper (dm-crypt) come metodo di
cifratura. Come al solito: quando si hanno dei dubbi si accettino i
valori predefiniti, poiché sono stati attentamente scelti in funzione
della sicurezza del sistema finale.
Cifratura: aes
Questa opzione permette di scegliere l'algoritmo di cifratura
(cifrario) da usare per cifrare i dati nella
partizione. Attualmente &d-i; supporta i seguenti cifrari a blocchi:
aes, blowfish,
serpent e twofish. Non
rientra fra gli obiettivi di questo documento discutere le qualità dei
vari algoritmi, comunque può essere utile sapere che nel 2000
l'American National Institute of Standards and Technology
ha scelto AES come l'algoritmo standard per la protezione
delle informazioni sensibili nel 21-esimo secolo.
Dimensione della chiave: 256
Si può specificare la lunghezza della chiave di cifratura. Generalmente
una chiave più lunga aumenta la forza della cifratura, d'altra parte
all'aumento della lunghezza della chiave corrisponde un impatto negativo
sulle prestazioni. Le lunghezze disponibili per la chiave dipendono dal
cifrario.
Algoritmo di IV: cbc-essiv:sha256
In crittografia il Vettore di Inizializzazione o
IV è usato per garantire che applicando l'algoritmo
di cifratura sullo stesso testo in chiaro e con la
stessa chiave si ottenga sempre un unico testo
cifrato. Lo scopo è di impedire a un aggressore di dedurre
informazioni cercando sequenze che si ripetono nei dati cifrati.
Fra le alternative proposte quella predefinita
(cbc-essiv:sha256) è attualmente la meno vulnerabile
ai tipi di attacco conosciuti. Si può usare una delle alternative solo
dovendo garantire la compatibilità con altri sistemi già installati che
non sono in grado di usare degli algoritmi più recenti.
Chiave di cifratura: Passphrase
Adesso si deve scegliere il tipo di chiave di cifratura per la partizione.
Passphrase
La chiave di cifratura viene calcolata
Usare una passphrase come chiave vuol dire che la partizione viene
configurata usando LUKS.
sulla base di una passphrase che di dovrà inserire
successivamente durante il processo d'installazione.
Chiave casuale
Una nuova chiave di cifratura viene generata partendo da dati casuali
ogni volta che si prova ad attivare la partizione cifrata. In altre
parole: ad ogni riavvio del sistema il contenuto della partizione è perso
perché la chiave è cancellata dalla memoria. (Ovviamente si più provare
a indovinare la chiave con un attacco di forza bruta ma, a meno
dell'esistenza di una falla sconosciuta nel cifrario, è un risultato che
non si ottiene nella durata della nostra esistenza).
Le chiavi casuali sono particolarmente utili per le partizioni di swap,
infatti non è necessario dover ricordare la passphrase o eliminare i
dati sensibili dalla partizione di swap prima di spegnere la macchina.
Purtroppo ciò significa che non si può usare la
funzionalità suspend-to-disk
offerta dai kernel Linux
più recenti dato che è impossibile (durante l'avvio di ripristino)
recuperare i dati memorizzati nella partizione di swap.
Cancellare i dati: sì
Determina se il contenuto di questa partizione debba essere sovrascritto
con dei dati casuali prima di impostare la cifratura. Si raccomanda
questa operazione perché altrimenti un aggressore potrebbe essere in
grado di riconoscere quali parti della partizione sono in uso e quali
no. Inoltre questo rende più complesso il ripristino di qualsiasi dato
rimasto dalle precedenti installazioni
È comune ritenere che i tipi delle agenzie governative di tre lettere
siano in grado di ripristinare i dati anche dopo parecchie scritture del
supporto magneto-ottico.
.
Scegliendo Metodo di cifratura:
Loopback (loop-AES) , il menu
varia per mostrare le seguenti opzioni:
Cifratura: AES256
Per loop-AES, diversamente da dm-crypt, le scelte relative al cifrario e
alla lunghezza della chiave sono dipendenti fra loro, per cui vanno fornite
contemporaneamente. Si vedano le sezioni precedenti su cifrario e lunghezza
della chiave per ulteriori informazioni.
Chiave di cifratura: File chiave (GnuPG)
Adesso si deve scegliere il tipo di chiave di cifratura per la partizione.
File chiave (GnuPG)
La chiave di cifratura è generata partendo da dei dati casuali durante
l'installazione. Inoltre la chiave viene cifrata con
GnuPG, quindi per poterla usare sarà
necessario inserire la passphrase corretta (in seguito, durante
il processo d'installazione, verrà richiesto di sceglierne una).
Chiave casuale
Si veda la sezione precedente sulle chiavi casuali.
Cancellare i dati: sì
Si veda la sezione precedente sulla cancellazione dei dati.
La versione grafica dell'installatore ha ancora
delle limitazioni rispetto a quella testuale. In particolare, per
quanto riguarda la crittografia, la limitazione è la possibilità di
configurare i volumi soltanto mediante passphrase
come chiavi di cifratura.
Dopo aver scelto i parametri per le partizioni cifrate, tornare al menu
principale di partizionamento. Adesso è presente una nuova voce di menu
con nome Configurare volumi cifrati. Dopo averla
selezionata viene chiesto di confermare la cancellazione dei dati nelle
partizioni marcate per essere ripulite e di confermare altre cose come la
scrittura della nuova tabella delle partizioni. Se la partizione è di
grandi dimensioni questa operazione potrebbe richiedere un po' di tempo.
Poi viene chiesto di inserire la passphrase per ognuna delle partizioni
configurate. Una buona passphrase dovrebbe essere di almeno 8 caratteri,
dovrebbe essere composta da lettere, numeri e altri caratteri e non
dovrebbe contenere parole che si possono trovare in un dizionario né
informazioni personali (come la data di nascita, hobby, nomi di animali
domestici, nomi di familiari o parenti, ecc.).
Prima di inserire qualsiasi passphrase si deve essere sicuri che la
tastiera sia configurata correttamente e che i caratteri generati siano
quelli che ci si aspetta. Se non si è sicuri si può passare sulla seconda
console virtuale e fare delle prove. Ciò garantisce di non avere sorprese
in seguito, per esempio inserendo la passphrase con una tastiera qwerty
configurata con un layout azerty. Questa situazione può avere più cause.
Forse durante l'installazione si è cambiato il layout della tastiera,
oppure il layout della tastiera non era stato ancora configurato quando
si è inserita la passphrase per il file system di root.
Se per creare le chiavi di cifratura si fossero scelti metodi diversi
dalla passphrase, le chiavi verrebbero create adesso. Dato che duranti
i primi passi dell'installazione il kernel potrebbe non aver accumulato
entropia sufficiente il processo potrebbe richiedere parecchio tempo. Il
processo può essere velocizzato generando entropia: cioè premendo dei
tasti a caso, passando alla shell nella seconda console virtuale per
causare traffico di rete o con i dischi (scaricando dei file,
inviando dei file di grosse dimensioni in /dev/null,
ecc.).
Questa operazione deve essere ripetuta per ogni partizione da cifrare.
Dopo essere ritornati al menu di partizionamento principale si vedranno
tutti i volumi cifrati come altre partizioni e possono essere configurati
come se fossero delle partizioni tradizionali. L'esempio seguente mostra
due volumi diversi; il primo è cifrato via dm-crypt, il secondo via
loop-AES.
Volume cifrato (crypt0) - 115.1 GB Linux device-mapper
#1 115.1 GB F ext3
Loopback (loop0) - 515.2 MB AES256 keyfile
#1 515.2 MB F ext3
Adesso è il momento di assegnare i punti di mount ai volumi ed
eventualmente modificare il tipo di file system se quello predefinito
non è adatto ai propri scopi.
Prendere nota degli identificatori fra parentesi (in questo esempio
(crypt0 e loop0) e
dei punti di mount che si assegnano ai volumi. Queste informazioni sono
necessarie in seguito, durante l'avvio del nuovo sistema. Le differenze
fra un processo d'avvio tradizionale e uno che coinvolge la crittazione
verranno spiegate successivamente in
.
Quando si è soddisfatti dello schema di partizionamento si può proseguire
con l'installazione.