Crittografia

Crittografia file Linux

Crittografia file Linux
Viviamo in un mondo in cui la privacy e la sicurezza stanno diventando sempre più importanti. Quasi ogni giorno ci sono notizie su una violazione dei dati o una perdita. Sebbene ci siano altre misure che puoi adottare per salvaguardare i tuoi dati, la crittografia dei file è una delle più ovvie.

Alternative alla crittografia dei file.

Prima di approfondire la crittografia dei file, consideriamo le alternative e vediamo se la crittografia dei file è adatta alle tue esigenze. I dati sensibili possono essere crittografati su diversi livelli di granularità: crittografia dell'intero disco, livello di filesystem, livello di database e livello di applicazione. Questo articolo fa un buon lavoro confrontando questi approcci. Riassumiamole.

La crittografia completa del disco (FDE) ha senso per i dispositivi suscettibili di perdita fisica o furto, come i laptop. Ma FDE non proteggerà i tuoi dati da molto altro, inclusi i tentativi di hacking remoti e non è adatto per crittografare singoli file.

Nel caso della crittografia a livello di file system, il file system esegue direttamente la crittografia. Ciò può essere ottenuto impilando un file system crittografico sopra quello principale o potrebbe essere integrato. Secondo questo wiki, alcuni dei vantaggi sono: ogni file può essere crittografato con una chiave separata (gestita dal sistema) e ulteriore controllo degli accessi tramite crittografia a chiave pubblica. Ovviamente, ciò richiede la modifica della configurazione del sistema operativo e potrebbe non essere adatto a tutti gli utenti. Tuttavia, offre una protezione adatta alla maggior parte delle situazioni ed è relativamente facile da usare. Sarà trattato in basso.

La crittografia a livello di database può indirizzare parti specifiche di dati come una colonna specifica in una tabella. Tuttavia, questo è uno strumento specializzato che si occupa del contenuto dei file piuttosto che di interi file ed è quindi al di fuori dello scopo di questo articolo.

La crittografia a livello di applicazione può essere ottimale quando le politiche di sicurezza richiedono la salvaguardia di dati specifici. Un'applicazione può utilizzare la crittografia per proteggere i dati in molti modi e la crittografia di un file è sicuramente uno di questi. Di seguito parleremo di un'applicazione per crittografare i file.

Criptare un file con un'applicazione

Sono disponibili diversi strumenti per crittografare i file sotto Linux. Questo articolo elenca le alternative più comuni.  Ad oggi GnuPG sembra essere la scelta più semplice. Perché? Perché, è probabile che sia già installato sul tuo sistema (a differenza di ccrypt), la riga di comando è semplice (a differenza dell'utilizzo diretto di openssl), è stato sviluppato molto attivamente ed è configurato per utilizzare un cypher aggiornato (AES256 a partire da oggi ).

Se non hai gpg installato, puoi installarlo utilizzando un gestore di pacchetti appropriato per la tua piattaforma come apt-get:

pi@raspberrypi:~ $ sudo apt-get install gpg
Lettura degli elenchi dei pacchetti... Fatto
Costruzione dell'albero delle dipendenze
Lettura delle informazioni sullo stato... Fatto

Criptare un file con GnuPG:

pi@raspberrypi:~ $ segreto del gatto.TXT
Roba top secret!
pi@raspberrypi:~ $ gpg -c  ​​segreto.TXT
pi@raspberrypi:~ $ file segreto.TXT.gpg
segreto.TXT.gpg: dati crittografati simmetricamente GPG (cifratura AES256)
pi@raspberrypi:~ $ rm segreto.TXT

Ora, per decifrare:

pi@raspberrypi:~ $ gpg --decrypt secret.TXT.gpg >segreto.TXT
gpg: dati crittografati AES256
gpg: crittografato con 1 passphrase
pi@raspberrypi:~ $ segreto del gatto.TXT
Roba top secret!

Si prega di notare "AES256" sopra. Questa è la cifra utilizzata per crittografare il file nell'esempio sopra. Si tratta di una variante di dimensioni di blocco a 256 bit (sicura per ora) di "Advanced Encryption Standard" (noto anche come Rijndae) cypher suit. Controlla questo Articolo di Wikipedia per maggiori informazioni.

Configurazione della crittografia a livello di file system

Secondo questo fscrypt pagina wiki, Il filesystem ext4 ha il supporto integrato per la crittografia dei file. Utilizza l'API fscrypt per comunicare con il kernel del sistema operativo (supponendo che la funzione di crittografia sia abilitata). Applica la crittografia a livello di directory. Il sistema può essere configurato per utilizzare chiavi diverse per directory diverse. Quando una directory è crittografata, lo sono anche tutti i dati relativi ai nomi dei file (e metadati) come i nomi dei file, il loro contenuto e le sottodirectory. I metadati non relativi ai nomi di file, come i timestamp, sono esenti dalla crittografia. Nota: questa funzionalità è diventata disponibile in Linux 4.1 rilascio.

mentre questo LEGGIMI ha le istruzioni, ecco una breve panoramica. Il sistema aderisce ai concetti di “protettori” e “politiche”. "Policy" è una chiave effettiva che viene utilizzata (dal kernel del sistema operativo) per crittografare una directory. "Protettore" è una passphrase utente o equivalente utilizzata per proteggere i criteri. Questo sistema a due livelli consente di controllare l'accesso degli utenti alle directory senza dover crittografare nuovamente ogni volta che si verifica una modifica negli account utente.

Un caso d'uso comune sarebbe l'impostazione della politica fscrypt per crittografare la directory home dell'utente con le loro passphrase di accesso (ottenute tramite PAM) come protezione. Ciò aggiungerebbe un ulteriore livello di sicurezza e consentirebbe di salvaguardare i dati dell'utente anche se l'attaccante riuscisse ad ottenere l'accesso amministrativo al sistema. Ecco un esempio che illustra come sarebbe la configurazione:

pi@raspberrypi:~ $ fscrypt cifra ~/cose_segrete/
Dovremmo creare un nuovo protettore? [s/n] sì
Sono disponibili le seguenti fonti di protezione:
1 - La tua passphrase di accesso (pam_passphrase)
2 - Una passphrase personalizzata (custom_passphrase)
3 - Una chiave non elaborata a 256 bit (raw_key)
Inserisci il numero di origine per il nuovo protettore [2 - custom_passphrase]: 1
Inserisci la passphrase di accesso per pi:
"/home/pi/secret_stuff" è ora crittografato, sbloccato e pronto per l'uso.

Questo potrebbe essere completamente trasparente per l'utente una volta impostato. L'utente può aggiungere un ulteriore livello di sicurezza ad alcune sottodirectory specificando diverse protezioni per esse.

Conclusione

La crittografia è un argomento profondo e complesso e c'è molto altro da coprire ed è anche un campo in rapida crescita, specialmente con l'avvento del calcolo quantistico. È fondamentale tenersi in contatto con i nuovi sviluppi tecnologici poiché ciò che è sicuro oggi potrebbe essere violato in pochi anni. Sii assiduo e presta attenzione alle novità.

Opere citate

Tutorial Shadow of the Tomb Raider per Linux
Shadow of the Tomb Raider è la dodicesima aggiunta alla serie Tomb Raider, un franchise di giochi d'azione e avventura creato da Eidos Montreal. Il gi...
Come aumentare gli FPS in Linux?
FPS sta per Fotogrammi al secondo. Il compito dell'FPS è misurare il frame rate nelle riproduzioni video o nelle prestazioni di gioco game. In parole ...
I migliori giochi di laboratorio dell'app Oculus
Se possiedi un visore Oculus, devi essere informato sul sideloading. Il sideloading è il processo di installazione di contenuti non archiviati sul vis...