Ricerca su dati crittografati di più utenti

3

Voglio implementare una ricerca su dati crittografati. Ho trovato un blogpost , che spiega 3 metodi . Un metodo è utilizzare la crittografia deterministica, che sto cercando di implementare. Ma il mio caso d'uso è leggermente diverso.

La mia applicazione fornisce un'enciclopedia end-to-end, in modo che io (come fornitore di servizi) non possa leggere i dati dell'utente. I dati sono crittografati sul client dell'utente. Ora voglio cercare tra i dati di diversi utenti. La funzione di ricerca e i risultati non sono pubblici, saranno utilizzati solo internamente per calcolare alcuni metadati, che vengono inviati al proprietario dei dati. Non ho bisogno di conoscere i dati non criptati, solo la loro relazione. I dati non sono un linguaggio naturale, quindi l'analisi della frequenza o gli attacchi al dizionario non dovrebbero essere un problema, ad esempio nomi di persone e indirizzi email.

Per rendere deterministico la crittografia, devo usare lo stesso sale per ogni dato ed è noto a tutti. (Ad esempio, userei la funzione hashpw di bcrypt sempre con salt "staticsalt".)

  • È ancora abbastanza sicuro o usa lo stesso sale per tutti rendendolo inutile?
  • Se è inutile, come dovrei implementare una ricerca attraverso i dati crittografati di più utenti? Gli altri due metodi di ricerca nel blogpost non sembrano fornire funzionalità multi-utente.
posta Marvin 13.05.2014 - 08:36
fonte

1 risposta

1

Quello che stai cercando di fare non può essere reso sicuro. Indipendentemente dall'implementazione, se è possibile cercare in modo efficiente tra più utenti, lo schema è necessariamente vulnerabile agli attacchi del dizionario. Nota che è molto probabile che un utente malintenzionato possa ottenere un ampio elenco di nomi e indirizzi email. Il meglio che puoi davvero sperare è quello di offuscare leggermente i dati in modo che nulla possa essere appreso da uno sguardo casuale.

    
risposta data 27.05.2014 - 20:06
fonte

Leggi altre domande sui tag