Hashing con sicurezza salt sconosciuta

0

Prima di tutto, questa domanda non riguarda l'hashing delle password, i miei requisiti sono diversi. In particolare sono pienamente d'accordo che i sali non sono utili per aggiungere complessità crittografica negli hash delle password, poiché il sale è quasi sempre noto all'attaccante. Nella mia situazione, il sale è sconosciuto.

Ho una tabella con record, una colonna di cui contiene un nome utente, che copre due date diverse. Potrebbero esserci più record con lo stesso nome utente. Voglio condividere questo tavolo con qualcun altro, tuttavia a questa persona non è permesso sapere quale nome utente va con quale record, tuttavia dovrebbe essere in grado di collegare i record per lo stesso nome utente nella stessa data.

La mia soluzione suggerita a questo è di generare un sale casuale a 1024 bit (CSPRNG) per ogni data. Poi ho cancellato i nomi utente, usando il sale per le rispettive date e sostituendo il nome utente con questo. Invierò le tabelle, ma non i sali.

La mia tesi è che è computazionalmente non fattibile (sull'hardware corrente non quatum-computing) per il destinatario di questi dati a:

  • purché abbia un nome utente, scopri quali dati appartengono a questo nome utente
  • scopri (solo nella colonna del nome utente) quali record appartengono allo stesso utente, a meno che i record non siano nella stessa data
  • anche se conosce i nomi utente veri e hash del 99,9% dei record, per determinare i nomi utente dai valori hash del rimanente 0,1%

Per essere completo: mi rendo conto che esiste sempre la possibilità che due nomi utente diversi siano associati allo stesso hash, perdendo così la proprietà che il destinatario dovrebbe essere in grado di distinguere i record con gli stessi nomi utente nella tabella originale, tuttavia queste possibilità sono così astronomicamente piccole che sono disposto ad accettarle.

La mia domanda: il mio reclamo è corretto? C'è qualche documentazione che posso indicare che supporti questo (senza qualcuno che ha bisogno di un dottorato in matematica --- mi piacerebbe poterlo "dimostrare" al dipartimento legale)? Suppongo che sto cercando lo stesso tipo di garanzie che (a) simmetricamente la crittografia del valore con una chiave che viene successivamente cancellata, dà, anche se sento che l'hashing con un 1024 bit è più strong della crittografia con un 1024- bit chiave.

Si noti che è (per motivi organizzativi) non è fattibile per me semplicemente mappare ogni nome utente su un valore casuale e memorizzare questo valore in memoria in modo che se visualizzo di nuovo lo stesso nome utente / data, userò lo stesso valore.

    
posta Claude 27.07.2016 - 12:04
fonte

0 risposte

Leggi altre domande sui tag