Cosa c'è di sbagliato con la memorizzazione di chiavi private nel cloud?

19

So che sembra una domanda stupida, ma cosa c'è di sbagliato in questo? Supponendo che tutti i dati privati siano crittografati (dal client) usando PBE AES256, allora questo schema è più vulnerabile rispetto all'archiviazione di chiavi sul tuo computer locale?

Pro:

  • tutti i tuoi dispositivi (smartphone, laptop, fotocamera?) hanno accesso alle stesse chiavi senza doverli copiare ovunque e proteggere più dispositivi
  • supponendo che il server delle chiavi sia ospitato da qualcuno che conosce la sicurezza, i dati dovrebbero essere più sicuri dello smartphone o del laptop

Contro:

  • un singolo attacco riuscito potrebbe eliminare milioni di chiavi (crittografate) in una volta sola (attacco remoto, dipendente malevolo, ecc.)

La mia comprensione della situazione attuale è che le tue chiavi private vengono crittografate sul tuo computer locale protetto da una passphrase (* .JKS, * .BKS, secring.gpg, ecc.). Un utente malintenzionato può scrivere un trojan che carica tutti i file della chiave privata su un server sotto il suo controllo. Di recente questo ha iniziato a verificarsi con i file di portafoglio BitCoin, quindi è plausibile che ciò possa accadere con i keystore. In questo modo, l'hacker si collegherebbe con molti keystore in un colpo solo, come un attacco riuscito su un server chiave e, per quanto posso dire, approssimativamente della stessa complessità. Inoltre, i file di archivio delle chiavi attuali non forniscono più protezione da un utente malintenzionato rispetto a AES256, poiché ruotano tutti intorno alla passphrase dell'utente.

Mi sembra che il vero punto debole qui sia la passphrase dell'utente e non necessariamente dove sono memorizzate le chiavi. Ho sbagliato? So che questa non è la situazione ideale, ma la sto confrontando con la situazione attuale.

    
posta senecaso 17.10.2011 - 04:06
fonte

2 risposte

14

Tutto ciò che è crittografato con PBE (come in "Crittografia basata su password") può essere oggetto di un attacco del dizionario offline (cioè: l'utente malintenzionato tenta le potenziali password). Questa è una preoccupazione a meno che tu abbia una password super-strong, che non è così facile come può sembrare perché devi anche ricordarla e digitarla regolarmente (se la noti da qualche parte, non è veramente super-strong). Le carenze di password non troppo forti possono essere in qualche modo mitigate utilizzando le funzioni di derivazione chiave dei pesi massimi come bcrypt .

"Abbastanza strong" significa "avere un'entropia di 128 bit o più" che significa "lo schema di generazione della password che hai usato potrebbe aver generato almeno 2 128 altre password distinte" - quindi siamo non si parla di 8 o 10 caratteri, piuttosto di 20 caratteri completamente casuali, o una lista di 10 "parole comuni" scelti a caso. A proposito, non ha senso insistere su AES-256 in questa situazione: AES-128 andrà bene (cioè la debolezza sarà la password, non l'AES).

Se hai una password abbastanza strong, puoi archiviare nel cloud qualsiasi dato confidenziale desideri, crittografato relativamente con questa password, comprese le chiavi private. Devi ancora fidarti del gestore del cloud per non perdere i tuoi file, ma, in media, i dati sono più sicuri nel cloud che nelle viscere di un costoso telefono cellulare che brilli quando cammini per strada (ricorda, i telefoni cellulari vengono rubati anche più spesso delle auto). A meno che il cloud manager non nutra rancore verso di te, naturalmente.

    
risposta data 17.10.2011 - 05:35
fonte
6

Alla fine tutto si riduce alla fiducia. Se, come dice @Thomas, si crittografa le cose abbastanza pesantemente si sta rimuovendo la necessità di fidarsi del cloud provider, tuttavia se si ha fiducia nel provider cloud per crittografare i dati in modo sicuro per voi sarei molto più preoccupato. Non perché non penso che possano, ma perché ci sono così tanti livelli in cui l'implementazione potrebbe fallire. Un utente malintenzionato può tentare di violare tutti questi elementi e potrebbe ottenere l'accesso alle chiavi e ai dati mentre si rivolge effettivamente a qualcos'altro ospitato da quel fornitore di servizi cloud, quindi aumenta la probabilità di essere compromesso.

Se memorizzo le mie chiavi private su un dispositivo a cui ho accesso, posso controllare il livello di rischio (prendendo precauzioni) ma sono anche un bersaglio molto più piccolo, dato che pochissimi attaccanti vorrebbero venire dopo di me.

Alla fine questa non è una domanda tecnica, è molto più una questione di rischio e di fiducia. Ti fidi dell'attuazione nel cloud per proteggerti nonostante il profilo di rischio elevato?

    
risposta data 17.10.2011 - 10:00
fonte

Leggi altre domande sui tag