Devo mantenere gli indirizzi e-mail come testo normale nel database?


14

È chiaro a tutti ( spero ) che archiviare le password senza almeno salarle / cancellarle sia un'idea terribile .

E le e-mail? Supponiamo che tu mantenga l'indirizzo e-mail di abbonamento, se lo crittografi correttamente potrebbe non essere utilizzabile per inviare e-mail agli utenti. D'altra parte, se non lo crittografate e il database viene rubato, tutti i vostri utenti rischiano un potenziale spam.

Questa domanda non riguarda questioni specifiche della legge (sebbene possano essere fornite, rimangono dipendenti dal paese) o sulla crittografia del database stesso.


Pensa che uno dovrebbe conservare tutte le PII (informazioni personali identificabili) in modo sicuro. Si tratta di crittografare i dati di cui l'applicazione dovrebbe avere bisogno (ad esempio inviare alcune e-mail di verifica) e i dati hash / salt utilizzati per l'autenticazione (ad esempio password). Inoltre, in questo caso è obbligatorio proteggere la base di dati.
Ilan Huberman,

È possibile configurare un'applicazione separata che memorizza ad esempio solo email + password (+ altri dati privati). Puoi usarlo per inviare e-mail chiamandolo, ad esempio con un api di riposo interno: localEmailServer / sendInvite / 123 dove 123 = ID utente. Puoi fare lo stesso per l'accesso, pubblicare su localEmailServer / login che può restituire vero o falso. In questo modo la tua applicazione può essere violata, ma non avrà gli indirizzi e-mail. Se si limita la quantità di richieste a questo servizio è più protetto perché non si è vulnerabili a cose come iniezioni di SQL in questa parte.
Luc Franken,

Risposte:


9

Memorizzare un hash salato degli indirizzi e-mail potrebbe essere un'opzione se si conservano tali record solo per la conferma / autenticazione dell'account.

In altri casi, mi sembra che la crittografia delle e-mail renderebbe più difficile il compito di mantenere il database mentre guadagna poco in cambio.

Probabilmente proteggere l'accesso al database stesso è una scelta migliore: di solito ci sono molte altre informazioni nel database che non vorresti essere raccolte.


Una domanda simile su StackOverflow: vale la pena crittografare gli indirizzi e-mail nel database?


Non ho visto quella domanda! Per la cronaca, è una vecchia domanda ma credo che ora dovrebbe appartenere a programmers.SE.
Pierre Arlaud,

3
@PierreArlaud: In realtà, tutto sarebbe meglio sulla sicurezza delle informazioni poiché non ha nulla a che fare con la programmazione.
Blrfl,

C'è davvero un ritorno sulla crittografia delle e-mail. Se non si memorizzano le chiavi nello stesso database compromesso, si impedisce al malintenzionato di utilizzare le e-mail. Ricorda che un'e-mail è molto utilizzata per l'attivazione di account e il cambio di credenziali.
NoChance,

2

Penso che tu abbia già detto tutto.

L'unica cosa che mi viene in mente è di non utilizzare un filtro hash unidirezionale come SHA1 per memorizzare gli indirizzi e-mail. Usa una certa crittografia (reversibile) della chiave pubblica nella tua applicazione e assicurati che la tua chiave privata non sia in nessun posto vicino al database, in modo che non possano essere "rubati" insieme.

In questo modo, puoi ancora decodificare gli indirizzi email per inviare email,


6
E? E? La suspense mi sta uccidendo :)
Pierre Arlaud,

E cosa? Che cos'è la suspense? Crittografare (decodificabilmente) nella tua app prima di archiviarlo nel database non significa preoccuparti se il database viene rubato, violato, ecc. Ma, quando si desidera inviare e-mail, è possibile decrittografare i destinatari e-mail dal database. ? Mi sto perdendo qualcosa?
Mawg dice di ripristinare Monica il

2
Solo un commento sull'ultimo carattere della tua risposta: D
Pierre Arlaud,

Sto cercando di trovare quello che dice la tua risposta che Manlio non l'ha fatto. Fondamentalmente, l'idea è quella di avere un hash reversibile dell'email, come un hash salato. O forse avevi in ​​mente qualcosa di completamente diverso?
Pierre Arlaud,

Siamo spiacenti, immagino che abbiamo inviato più o meno allo stesso tempo.
Mawg dice di ripristinare Monica il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.