Dois-je conserver les adresses e-mail sous forme de texte en clair dans la base de données?

14

Il est clair pour tout le monde ( j'espère ) que stocker des mots de passe sans au moins les saler / les hacher est une idée terrible .

Et les e-mails? Disons que vous conservez l'adresse e-mail de l'abonnement, si vous la cryptez correctement, il peut ne pas être possible d'envoyer des e-mails aux utilisateurs. En revanche, si vous ne le cryptez pas et que la base de données est volée, tous vos utilisateurs risquent un spam potentiel.

Cette question ne concerne pas les problèmes spécifiques à la loi (bien qu'ils puissent être donnés, ils restent dépendants du pays) ni le chiffrement de la base de données elle-même.

Pierre Arlaud
la source
Pensez que l'on devrait conserver tous les PII (informations personnelles identifiables) de manière sécurisée. Il s'agit de chiffrer les données dont l'application devrait avoir besoin (c'est-à-dire envoyer des e-mails de vérification) et les données de hachage / sel utilisées pour l'authentification (par exemple, le mot de passe). De plus, bien sûr, la sécurisation de la base de données est obligatoire dans ce cas.
Ilan Huberman
Vous pouvez configurer une application distincte qui ne stocke que les e-mails + mots de passe (+ autres données privées) par exemple. Vous pouvez l'utiliser pour envoyer des e-mails en l'appelant, par exemple avec une API de repos interne: localEmailServer / sendInvite / 123 où 123 = id utilisateur. Vous pouvez faire de même pour la connexion, publier sur localEmailServer / login qui peut retourner vrai ou faux. De cette façon, votre application peut être piratée, mais elle n'aura toujours pas les adresses e-mail. Si vous limitez le nombre de demandes à ce service, il est plus protégé car vous n'êtes pas vulnérable à des choses comme les injections SQL de cette partie.
Luc Franken

Réponses:

9

Le stockage d'un hachage salé des adresses e-mail peut être en option si vous conservez ces enregistrements uniquement pour la confirmation / authentification du compte.

Dans d'autres cas, il me semble que le chiffrement des courriels rendrait plus difficile le maintien de la base de données tout en gagnant peu en retour.

Il est probablement préférable de sécuriser l'accès à la base de données elle-même: il y a généralement beaucoup d'autres informations dans la base de données que vous n'aimeriez pas être recueillies.


Une question similaire sur Stackoverflow: vaut-il la peine de chiffrer les adresses e-mail dans la base de données?

manlio
la source
Vous n'avez pas vu cette question! Pour mémoire, c'est une vieille question mais je pense qu'elle devrait maintenant appartenir à programmers.SE.
Pierre Arlaud
3
@PierreArlaud: En fait, tout serait mieux sur la sécurité de l'information car cela n'a vraiment rien à voir avec la programmation.
Blrfl
Il y a en effet un retour sur le cryptage des e-mails. Si vous ne stockez pas les clés dans la même base de données compromise, vous privez le méchant d'utiliser les e-mails. N'oubliez pas qu'un e-mail est largement utilisé pour l'activation des comptes et le changement des informations d'identification.
NoChance
2

Je pense que vous avez déjà tout dit.

La seule chose à laquelle je peux penser est de ne pas utiliser un filtre de hachage unidirectionnel comme SHA1 pour stocker les adresses e-mail. Utilisez un chiffrement à clé publique (réversible) dans votre application et assurez-vous que votre clé privée est loin de la base de données, afin qu'ils ne puissent pas être "volés" ensemble.

De cette façon, vous pouvez toujours décrypter les adresses e-mail pour envoyer des e-mails,

Mawg dit réintégrer Monica
la source
6
Et? Et? Le suspense me tue :)
Pierre Arlaud
Et quoi? Qu'est-ce que le suspense? Crypter (décryptable) dans votre application avant de le stocker dans la base de données ne signifie aucun souci si la base de données est volée, piratée, etc. Mais, lorsque vous souhaitez envoyer des e-mails, vous pouvez décrypter les destinataires de la base de données. ? Suis-je en train de manquer quelque chose?
Mawg dit de réintégrer Monica le
2
Juste un commentaire sur le dernier caractère de votre réponse: D
Pierre Arlaud
J'essaie de trouver ce que votre réponse dit que manlio n'a pas fait. Fondamentalement, l'idée est d'avoir un hachage réversible de l'e-mail, comme un hachage salé. Ou peut-être aviez-vous quelque chose de complètement différent à l'esprit?
Pierre Arlaud
Désolé, je suppose que nous avons soumis à peu près en même temps.
Mawg dit réintégrer Monica le