Le passphrase sono le password per accedere a dischi criptati. Vediamo come gestirle con dischi (=pool) ZFS.

Premessa
In un disco criptato possiamo mettere più password (ovvero più passphrase), una per ogni slot disponibile. Di default sono disponibili 32 slot, quindi 32 password.
In questa guida vediamo come aggiungere, modificare e cancellare passphrase per crisptare-decriptare un disco.
Prima di procedere sappi che:
- opero con il filesystem ZFS: ottimo-ecezzionale filesystem!
- il disco del computer è stato completamente criptato durante l'installazione come ZFS;
- linux non offre strumenti grafici, pertanto operiamo da terminale;
- la distro usata nella guida è la Linux Mint 21.1.
Ultima informazione: le passphrase inserite non sono né visibili, né recuperabili.
Gestire le passphrase
Procediamo vedendo quanti slot sono attivi, successivamente continuo aggiungendo una passphrase, poi la modificheremo. Infine la cancelleremo.
Operiamo sempre da un terminale con un utente amministratore.
Pertanto inizio aprendo terminale (comoda la scorcatoia da desktio CTRL+ALT+T).
Stampa slot
Diamo il seguente comando:
sudo cryptsetup luksDump /dev/zd0
luksDump
stampa le informazioni del disco criptato. In particolare si faccia caso alle voci
Keyslots:
0: luks2
[ ... ]
significa che c'è una passphrase per accedere al disco.
Aggiungiamo una passphrase
Aggiungiamo la passphrase "Pass Phrase#1nuova" con il seguente comando:
sudo cryptsetup luksAddKey /dev/zd0
Enter any existing passphrase:
Enter new passphrase for key slot:
Verify passphrase:
NB 1: per poter aggiungere una passphrase è necessario digitare la passphrase esistente
NB 2: se esiste più di una passphrase è sufficiente inserire una delle esistenti.
Verifichiamo la passphrase appena inserita testandola:
sudo cryptsetup open --test-passphrase /dev/zd0
NB: se non esiste la passphrase inserita o se abbiamo sbagliato a digitarla cryptsetup ci risponde così:
No key available with this passphrase.
Verifichiamo gli slot disponibili
sudo cryptsetup luksDump /dev/zd0
Keyslots:
0: luks2
[ ... ]
1: luks2
[ ... ]
NB: qui abbiamo tagliato l'output. Si noti, però, che abbiamo ora 2 blocchi con l'etichetta "luks2". Significa che ci sono 2 passphrase.
Modifichiamo una passphrase
Modifichiamo la passphrase appena inserita in "PassPhrase#1B" con il seguente comando:
sudo cryptsetup luksChangeKey /dev/zd0
Enter passphrase to be changed:
Enter new passphrase:
Verify passphrase:
NB: per poter cambiare la passphrase è necessario digitare la passphrase da cambiare ("Enter passphrase to be changed")
Verifichiamo il cambio della passphrase. Testiamo simulando l'apertura del disco.
Diamo il seguente comando inserendo la vecchia passphrase (="Pass Phrase#1nuova")
sudo cryptsetup open --test-passphrase /dev/zd0
No key available with this passphrase.
L'output conferma che non esiste più la vecchia passphrase.
Riproviamo inserendo la corretta passphrase (="PassPhrase#1B")
sudo cryptsetup open --test-passphrase /dev/zd0
Ora l'output è silenzioso e ciò significa che è corretta.
Infine verifichiamo gli slot disponibili: vedremo che sono rimasti invariati (abbiamo cambiato una passphrase, non abbiamo né aggiunto, né tolto).
sudo cryptsetup luksDump /dev/zd0
[ ... ]
Keyslots:
0: luks2
[ ... ]
1: luks2
[ ... ]
Cancelliamo una passphrase
Cancelliamo la passphrase appena cambiata "PassPhrase#1B" con il seguente comando:
sudo cryptsetup luksRemoveKey /dev/zd0
Enter passphrase to be deleted:
Se tutto è corretto (digitata correttamente la passphrase e se la passphrase esiste) l'output è sembre silenzioso. Se invece abbiamo fatto un errore di digitazione o la passphrase non esiste otteniamo il messaggio
No key available with this passphrase.
Verifichiamo gli slot disponibili:
sudo cryptsetup luksDump /dev/zd0
[ ... ]
Keyslots:
0: luks2
[ ... ]
L'output ci dice che siamo tornati ad avere lo solo slot 0 (=c'è una sola passphrase, c'è una sola password).
Conclusione
La criptazione dei device è diventata una pratica ordinaria (più correttamente obbligatori) con l'avvento delle normative GDPR, ma anche per l'aumentata potenza dei calcolatori, delle reti e dell'interconnessione dei dispositivi.
Gli strumenti di cryptazione hanno potenzialità superiori al semplice inserimento di una password, come illustrato sopra.
Il rovescio della medaglia è la necessità di maggiore attenzione, di una buona prassi di conservazione delle passphrase inserite perché una volta perse è impossibile sbloccare i nostri device.
Altro rovescio è la necessità di inserire tutte le volte la passphrase, soprattutto se operiamo su un server e non siamo nel CED e abbiamo dato un comando di riavvio.
E' possibile salvare la passphrase in modo da non dover tutte le volte inserire la password, ma in questo caso, se siamo in console, possiamo accede ai dischi riducendo la sicurezza aggiunta con la criptazione.
Infine l'uso di soluzioni di filesystem avanzate, come ZFS o il noto LVM, permettono manipolazioni più avanzate e decisamente interessanti come la cryptazione selettiva di pool, l'aggiunta al volo di dischi, ecc...