.: HosiriS :.

Informatica e non solo

Sicurezza: criptare Dropbox

Posted by hosiris su aprile 14, 2010

Vi ho già parlato del servizio fornito da Dropbox. Non vi ho parlato della sicurezza annessa a questo servizio. Sappiate che il servizio offre già una criptazione di base, ma la chiave è nota anche ai sistemisti!
Per avere la garanzia di riservatezza circa i propri dati è quindi necessario crittografarli in proprio.
Useremo encfs:


sudo apt-get install encfs

Ora creiamo un filesytem criptato in una cartella all’interno della cartella di Dropbox.


encfs ~/Dropbox/encrypted ~/encrypted

Digitando il comando di cui sopra verrà creata una cartella con i dati crittografati all’interno della cartella di Dropbox, questa cartella crittografata sarà accessibile in chiaro entrando nella cartella encrypted.
Dopo aver digitato il comando verrà chiesta conferma per la creazione dell due cartelle (notare che potrebbe presentarsi il seguente errore: Impossibile localizzare la cartella di root, annullato.. E’ sufficiente rispondere y alle domande anzicchè s).
Alla domanda successiva rispondiamo x per entrare nella modalità di configurazione per esperti.
La domanda successiva chiederà di scegliere tra l’algoritmo AES e il Blowfish. Ho scelto Blowfish (2).
La successiva domanda è per scegliere la dimensione della chiave (256).
Ora scegliamo la dimensione dei blocchi da cifrare (1024).
Poi è necessario scegliere l’algoritmo di encoding dei nomi dei files. Ho scelto 1 per l’algoritmo che modifica la lunghezza del nome, non ci sono particolari implicazioni di performance ed è più sicuro.
Ora scegliamo se rendere il filename dipendente dall’intero path o no. Anche qui non ci sono particolari problemi di performance quindi scegliamo il valore di il default che è Yes che rende il filename dipendente dal path.
La prossima opzione propone di aggiungere 8 bytes casuali ad ogni file per rendere più sicuro il filesystem. Il default è Yes e consiglio di accettarlo visto che ha un impatto trascurabile sulle prestazioni.
Ora viene chiesto di abilitare la cosiddetta “block autentication”, si tratta di aggiungere un checksum per ogni blocco per consentire ad encfs di rilevare eventuali corruzioni. Questa opzione impatta in modo molto pesante sul consumo della cpu, quindi non l’ho attivata inserendo No che è anche il default.
La prossima opzione serve per attivare dei bytes casuali per ogni header di blocco. Serve a rendere il filesystem più sicuro ma ha un impatto pesante sulla cpu e siccome abbiamo già attivato gli 8 bytes casuali per ogni file non è neanche necessaria, quindi 0 per disabilitarla.
Ora viene chiesto se attivare una opzione che evita la creazione di blocchi criptati in presenza di “buchi” nei files. Serve a migliorare leggermente le prestazioni in casi molto particolari ma presenta problemi di compatibilità in molti altri casi quindi è meglio disabilitarla con No che poi è il default.
Per finire inseriamo due volte la password, vi consiglio di usare la stessa usata per il login.

Al successivo login vi accorgerete di dover montare nuovamente il filesystem digitando


encfs ~/Dropbox/encrypted ~/encrypted

non è il massimo della comodità.
Per configurare l’automount del filesystem criptato è necessario installare il seguente pacchetto:


sudo apt-get install libpam-mount

editiamo il file /etc/security/pam_mount.conf.xml e togliamo il commento dalla riga , e creiamo il file .pam_mount.conf.xml nella home contenente le seguenti righe:


<?xml version="1.0" encoding="utf-8" ?>
<pam_mount>
<volume user="user" fstype="fuse" path="encfs#/home/user/Dropbox/encrypted" mountpoint="/home/user/encrypted" />
</pam_mount>

In questo modo ad ogni avvio la cartella sarà montata.

NB: Ho supposto che la cartella di Dropbox è nella home, naturalmente va inserito il giusto path in caso diverso.

13 Risposte to “Sicurezza: criptare Dropbox”

  1. Giovanni Cosi said

    Bel post. Scusa la banalità e l’ignoranza….Ma se faccio lo stesso su mac, funziona? O è già per mac?

    • hosiris said

      ciao, grazie
      Per raggiungere lo scopo di questo post servono Dropbox ed EncFS, entrambi esistenti anche per MacOS, quindi direi che puoi applicare quello che ho detto anche al tuo sistema.
      Contattami pure se hai problemi

  2. Diego said

    ma la chiave è nota anche ai sistemisti!

    Mah, secondo me se il sistema è fatto in modo professionale (e mi sembra che lo sia) i sistemisti dovrebbero conoscere solamente l’hash della chiave…

    • hosiris said

      Ciao Diego, si credo proprio sia così. Da quando lo uso non ho mai avuto problemi

    • Dario said

      La chiave e la password sono 2 cose diverse. Dropbox dice di usare AES per cifrare i dati sul loro server. In questo caso per le operazioni di encryption e decryption serve una chiave (e non il suo hash), che pertanto sarà conservata nel sistema.
      La password è usata invece per accedere al servizio online e, come qualcuno suggerisce, nel sistema è usualmente conservata come hash.
      In entrambi i casi insomma queste informazioni sono conservate dal servizio. Se poi i sistemisti vi possano accedere o meno è solo una questione di professionalità e fiducia.
      Io sto ancora valutando se utilizzare Dropbox o meno, o meglio quali dati mettere nella directory… l’idea di cifrarli non è male, però mi chiedo: la sincronizzazione della directory rimane efficiente? Perchè se i dati sono cifrati, come fa a fare il diff e inviare solo ciò che è cambiato?

      • hosiris said

        Ciao Dario, a distanza di quasi un anno posso dire che la sincronizzazione dei dati criptati è perfetta! non ho mai perso neanche un bit!

      • Dario said

        I miei dubbi non erano se la sincronizzazione funziona, ma se ha la stessa efficienza del caso non-encrypted. Ma col sistema che hai suggerito tu, l’encryption e’ per-file o su tutto il volume?

      • hosiris said

        Io ho una sola cartella che è criptata all’interno del folder dropbox. Non ho un intero volume, ma il singolo file, infatti alla modifica del file, l’update avviene solo su quel file.

      • Dario said

        Per singolo file intendi l’intera cartella cifrata o un singolo file dentro quella cartella?

      • hosiris said

        L’intera cartella

      • Dario said

        Ok, era come temevo allora. Se cambi anche un solo bit del contenuto della cartella, la sua cifratura sara’ completamente diversa. Quindi se la cartella e’ ad esempio 300MB, una piccola modifica comporta il trasferimento di tutti i 300MB. In pratica si perde il vantaggio di una sincronizzazione differenziale. Sarebbe interessante vedere se esistono soluzioni che cifrano per singoli file…

      • hosiris said

        uhmm… devo fare qualche prova, non ne sono sicurissimo! il motivo sta nel come le piattaforme *nix gestiscono file e cartelle… mo faccio delle prove

  3. Giordano said

    Salve a tutti

    @Diego
    Penso che la sostituzione dell’hash non sia uno strato di sicurezza aggiuntivo, credo dia solo un falso senso di sicurezza, ecco perche’ la penso cosi`:

    Come saprai l’Hash e` unidirezionale, ovvero una volta calcolato non si puo` risalire alla password.
    Come giustamente dicevi il programma memorizza l’hash.
    Quindi il processo di autenticazione e`:
    1- Inserimento della password
    2- Calcolo dell’hash
    3- Confronto dell’hash con quello memorizzato.

    Il sistemista ha accesso ai database, quindi ha l’accesso a nome-utente e hash.
    Per aggirare l’autenticazione e` sufficiente accedere ai sorgenti dell’applicazione e rimuovere il calcolo dell’hash.
    Si inserisce nome utente e hash e il gioco e` fatto.
    Viceversa un filesystem criptato e` piu` sicuro perche’ nessuno, se non il proprietario, conosce la password (che non viene mai inviata su internet).

    Poi tutto dipende dalla paranoia personale e da quanto sono importanti i dati che abbiamo.😉

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

 
%d blogger cliccano Mi Piace per questo: