it-swarm-eu.dev

Archiviazione del database KeePass nel cloud. Quanto è sicuro?

Sarebbe sicuramente più conveniente archiviare il mio database KeePass su S3, Dropbox o meglio SpiderOak. La mia paura è che il mio account di archiviazione cloud sia compromesso e che le credenziali vengano recuperate da una forza bruta o da un altro vettore di attacco. Quanto è sicuro? Quali rischi devo conoscere?

54
dperry1973

È difficile da quantificare esattamente, ma se si dispone del DB su un dispositivo mobile, non direi che questo è particolarmente meno sicuro. KeePass crittografa il DB perché il file rimanente sicuro non è una garanzia. È certamente preferibile che il file DB non si trovi in ​​libertà, ma se la tua sicurezza dipende dal fatto che il file crittografato rimanga riservato, allora hai problemi più grandi rispetto all'utilizzo o meno dell'archiviazione cloud.

Una password principale sufficientemente forte dovrebbe impedire la forzatura bruta almeno abbastanza a lungo per rilevare una violazione e per poter cambiare le password al suo interno. In questo modo, potrebbe anche essere leggermente preferibile avere una copia locale su un dispositivo mobile in quanto qualcuno potrebbe compromettere il file se distogli lo sguardo dal tuo dispositivo anche solo momentaneamente e sarebbe molto più difficile identificare quella violazione.

Se si desidera proteggerlo ulteriormente, è possibile aggiungere un altro livello di sicurezza crittografando il file archiviato nel cloud storage online. La password principale offre una sicurezza abbastanza buona purché si scelga una password difficile da forzare (lunga e veramente casuale), ma non può ancora competere con una chiave di crittografia lunga effettiva. Se si crittografa il file archiviato online e si mantiene tale chiave protetta da una password master simile, ora il componente online da solo è molto, molto più difficile da decodificare (probabilmente impossibile se eseguito correttamente) e se il file chiave viene compromesso, devi semplicemente crittografare immediatamente il tuo DB online con una nuova chiave. Sei ancora nei guai se qualcuno può prima compromettere il tuo account cloud e ottenere il file, ma richiede due punti di compromesso anziché uno.

Personalmente, probabilmente finirei con il mio OwnCloud (che è auto-ospitato), ma ho il vantaggio di avere il mio web server personale e mi rendo conto che non è un'opzione di cui tutti possano trarre vantaggio. (L'unica ragione per cui non ho è che non ho una particolare necessità di coordinare un database chiave in quel modo.) Una soluzione basata su cloud pubblico dovrebbe funzionare come una seconda opzione.

34
AJ Henderson

È possibile aumentare la resilienza del database KeePass per aumentare la forza aumentando il numero di iterazioni PBKDF2 quando si ricava la chiave di crittografia del database dalla password. Puoi farlo in KeePass in File> Impostazioni database> Sicurezza. Personalmente, utilizzo circa 5.000.000 di round (ritardo di 1 s). Ricorda che i dispositivi mobili sono più lenti.

48
Matrix

Uso la combinazione KeePass-Dropbox. Il database delle password viene crittografato utilizzando una chiave derivata da una password principale sicura. Anche se qualcuno acquisisce il tuo database di password crittografato tramite il tuo account cloud, una password principale abbastanza forte rende fattibili gli attacchi di forza bruta.

In poche parole: Usa una password principale forte e smetti di preoccuparti di questo.

21
Adi

Il cloud è intrinsecamente inaffidabile e i file conservati su di esso devono essere considerati vulnerabili, quindi è necessaria una crittografia avanzata per proteggerti. KeePass lo offre. Tuttavia, devi essere in grado di fidarti di ogni client in cui inserisci la password. Se le leggi su un iPhone, ti fidi della piattaforma? Proteggi la tua password dalle telecamere della metropolitana quando la inserisci, ogni volta? E il tuo laptop?

Devi anche considerare il valore di ciò che stai proteggendo. Ciò salvaguarda i fondi pensione? I punteggi del tuo campionato di bowling fantasy? Dissenso politico illegale nel tuo paese? Per alcuni casi non vale semplicemente il rischio di fare un errore.

Quindi sì, finché ti fidi di KeePass e ti fidi dei tuoi dispositivi e ti fidi della tua capacità di proteggere la tua chiave master, non preoccuparti di mantenere il database in Dropbox.

9
John Deters

Anche se il tuo database KP dovesse essere compromesso da Dropbox, usando sia una password sicura, sia un file chiave non archiviato in Dropbox dovrebbe darti sicurezza oltre ogni mezzo noto di attacco elettronico (purché i tuoi dispositivi non sono già stati compromessi).

Il file di chiavi deve essere archiviato in un luogo sicuro separato, ad esempio un'unità USB che è possibile proteggere fisicamente. Ciò fornisce 3 livelli di protezione:

  1. Account Dropbox (assumi bassa sicurezza)
  2. La tua password sicura (sicura)
  3. Il tuo file di chiavi (sicuro come lo fai)
7
HourOfTheBeast

Mentre un codice abbastanza forte dovrebbe essere in grado di resistere all'attacco di forza bruta, considera che memorizzando il database delle password nel cloud fornisci al potenziale attaccante molte più informazioni di quelle che potrebbe ottenere, ad es. un telefono perso con lo stesso database.

Ogni volta che modifichi una password, l'utente malintenzionato ottiene un nuovo database, che può utilizzare insieme alle versioni precedenti in attacchi con analisi differenziale . Avrai bisogno di un codice più forte per resistere, rispetto al semplice COA . Se anche lui ha una delle tue password (ad esempio rompendo un database di password scarsamente protetto da uno dei siti che visiti), potrebbe essere in grado di identificare quella password nel tuo database. Questo aprirebbe le porte a KPA che potrebbe essere quasi banale nel caso in cui riutilizzi le password.

Fornisci inoltre informazioni sull'attaccante sulla tua attività relativa alla password. Saprà quanto spesso cambi le tue password e potrebbe essere in grado di dedurre quali password cambi.

Pertanto, se decidi di archiviare il database delle password in un cloud pubblico,

  1. Scegli un algoritmo di crittografia forte, resistente alla crittoanalisi differenziale. Assicurarsi che ogni password nel database sia salata individualmente.

  2. Modifica la password principale regolarmente, preferibilmente tutte le volte che utilizzi la password più apprezzata.

  3. Non riutilizzare le password.

5

Vorrei suggerire una soluzione che prevede quanto segue:

  • File di database KeePass archiviato sul computer locale con crittografia Full Disk (ad es. Veracrypt)
  • File chiave KeePass memorizzato su un disco USB esterno
  • Cloud Storage 1 (ad esempio Dropbox) per contenere il file di database
  • Cloud Storage 2 (ad esempio Google Drive) per contenere un backup del file chiave
  • Abilita 2FA su entrambi gli account di archiviazione cloud (app di autenticazione mobile preferibile ai codici di messaggi di testo)

Come tutti hanno già detto, avere una password principale solida per il file del database è molto importante per contrastare gli attacchi di forza bruta. Ma se lo combini con un file chiave, allora diventa praticamente impossibile forzare la forza.

Se Cloud Storage 1 è compromesso, il file di database stesso senza il file chiave sarà impossibile da forzare, a meno che non vi sia una grave vulnerabilità della sicurezza nell'implementazione della crittografia di Keepass.

Se Cloud Storage 2 è compromesso, il file chiave stesso è inutile senza il file di database. È solo un'estensione della tua password principale, non contiene alcun dato.

Direi che sarebbe altamente improbabile che entrambi gli archivi cloud vengano contemporaneamente compromessi dallo stesso aggressore. Dovresti essere un individuo di alto profilo per questo (ad es. Politico, miliardario, agente segreto ecc.) :)

Se non sei uno dei precedenti e sei disposto a sacrificare un po 'di sicurezza in cambio di facilità di accesso (ad es. Continui a dimenticare dove hai messo il dannato disco USB), quindi archivia sia il file database che il file chiave sul computer locale . Tuttavia, in questo caso il computer locale diventa il punto debole, se compromesso, l'attaccante avrebbe accesso al file chiave, quindi dovrebbe solo forzare la password principale sul database, quindi è meglio impostarne una forte. Ciò equivarrebbe a non utilizzare affatto un file chiave.

4
user172957

Se vuoi essere davvero serio sulle cose, esegui Boxcryptor insieme a Dropbox. Boxcryptor crittografa qualsiasi cosa alla tua estremità PRIMA di inviare ai server di Dropbox. Tutto ciò che è alla fine di Dropbox è un carico di cose crittografate. Il tuo db keepass finisce doppiamente crittografato!

2
MikeB

Sono un convinto sostenitore della difesa in profondità su questo.

Non importa quanto sia forte la tua password, è anche una che non può essere modificata.

Quindi, per proteggere il mio Keepass DB, sto usando tre livelli:

  • Il database ha una passphrase forte (non solo una password). Non sto usando un file chiave perché, per me, il rischio di perdere il file chiave supera i vantaggi di sicurezza.
  • Il database è archiviato su un file system crittografato (sto usando encfs. Di per sé, si è ovviamente dimostrato insicuro, ma aggiunge ancora un livello di protezione).
  • La versione crittografata viene caricata su un server owncloud, in esecuzione sul mio hardware e, naturalmente, su HTTPS.

Sul motivo per cui la password non può essere cambiata: ovviamente tu puoi modifica la password, e in realtà ricodificherà il database Keepass, ma non puoi modificarlo retroattivamente su vecchie copie.

Soprattutto (ma non solo) se si archivia il database nel cloud, è necessario supporre che un avversario abbia bloccato il database in un momento precedente, con una vecchia password. Questo potrebbe darle le informazioni che sta cercando.

1
Kevin Keane

Un'altra opzione: utilizzare il cloud solo per trasferire il database al dispositivo successivo e quindi eliminarlo dall'archivio cloud. Ciò esporrebbe il database per un periodo di tempo limitato. Non esattamente quello che stavi chiedendo, ma un'opzione che può essere considerata in base al livello di sicurezza richiesto.

0
globetrotter

Dico di andare con la soluzione cloud "crittografata sul client" di tua scelta, crittografare con la maggior parte delle iterazioni PBKDF2 con cui ti senti a tuo agio, il più grande file di chiavi con cui puoi convivere e, soprattutto, archiviare le informazioni che ti stanno vicino (localmente) su un disco SELF ENCRYPTING. Metti in primo piano un file system crittografato, se necessario, ma la crittografia dei dati inclini a perdita o furto, come un'unità USB, deve essere automatica.

0
G DeMasters