Email nella sicurezza del database rispetto alle prestazioni [chiuso]

0

Devo proteggere i dati di un'applicazione web B2B in un database MySQL, attualmente i dati dell'utente sono registrati in questo modo:

Last name (Plain text)
First name (Plain text)
Email (Plain text and indexed)
Password (Hashed with CRYPT_BLOWFISH method)

Quando l'utente effettua il login con la propria email e password, devo solo confrontare la password memorizzata con la password con hash data.

Ora per proteggere questi dati mi piacerebbe fare quanto segue:

Last name (encrypted with openssl_encrypt)
First name (encrypted with openssl_encrypt)
Email (Hashed with CRYPT_BLOWFISH method)
Password (Hashed with CRYPT_BLOWFISH method)

Con questo non è possibile indicizzare l'e-mail per recuperarli più velocemente e devo prima confrontare TUTTE le e-mail con hash sull'e-mail con hash e confrontare la password.

Pensi che sia il modo migliore per proteggere l'email o c'è un altro modo per farlo?

    
posta Core972 23.02.2018 - 11:24
fonte

1 risposta

2

L'hashing delle e-mail (con o senza sale) le renderà virtualmente (senza montare un attacco, quasi letteralmente impossibile con un buon, unico sale per hash) irrecuperabile nel tuo sistema. Non sono sicuro che questo sia ciò che desideri, dal momento che potresti utilizzare la base di posta elettronica per contattare gli utenti, reimpostare le password e altre attività?

La crittografia delle e-mail, d'altra parte, li rende utilizzabili dalla tua applicazione. Se un utente malintenzionato accede al database, vedrà solo i cyphertexts e non le e-mail effettive. Si prega di notare la discussione nei vari commenti su IV: cambiare la IV è importante per mantenere al sicuro la raccolta di cyphertext da attacco cyphertext scelto . Considerare un utente malintenzionato che crea più account e successivamente accede al database, sarebbe in grado di ricollegare le e-mail e i cyphertexts in testo semplice.

Accetto che la tua applicazione sia B2B, quindi potrebbe non essere esposta come una versione B2C, tuttavia leggiamo ogni genere di storie di hacking in questi giorni ... Non penso che dovrebbe essere scontato.

Sei preoccupato che non potresti più effettuare ricerche per posta indicizzata, è vero. Stai affrontando una scelta tra comodità e sicurezza.

  • O si va con il consiglio (IMO errato e pericoloso) per mantenere un IV costante per tutte le crittografie e indicizzare i risultanti cyphertexts nel DB,
  • o trovi un mezzo alternativo per localizzare un account utente, ad es. un nome utente Se la tua applicazione non la offre agli utenti, considera un aggiornamento.

Valuta il vantaggio / costo di entrambe le opzioni ...

    
risposta data 23.02.2018 - 14:49
fonte

Leggi altre domande sui tag