Soll ich E-Mail-Adressen als Klartext in der Datenbank behalten?


14

Es ist allen klar ( ich hoffe ), dass das Speichern von Passwörtern, ohne sie zumindest zu salzen / zu haschen, eine schreckliche Idee ist.

Was ist mit E-Mails? Angenommen, Sie behalten die E-Mail-Adresse des Abonnements bei. Wenn Sie sie ordnungsgemäß verschlüsseln, können möglicherweise keine E-Mails an die Benutzer gesendet werden. Wenn Sie es andererseits nicht verschlüsseln und die Datenbank gestohlen wird, riskieren alle Ihre Benutzer einen potenziellen Spam.

Bei dieser Frage geht es nicht um rechtliche Aspekte (auch wenn sie gegeben sein mögen, sie bleiben länderspezifisch) oder um die Verschlüsselung der Datenbank selbst.


Denken Sie, man sollte alle personenbezogenen Daten (personenbezogene Daten) auf sichere Weise aufbewahren. Dies sind verschlüsselte Daten, die die Anwendung benötigen sollte (z. B. eine Bestätigungs-E-Mail senden), und Hash- / Salt-Daten, die für die Authentifizierung verwendet werden (z. B. ein Passwort). Natürlich ist in diesem Fall auch die Sicherung der Datenbank obligatorisch.
Ilan Huberman

Sie können eine separate Anwendung einrichten, in der beispielsweise nur E-Mails + Kennwörter (+ andere private Daten) gespeichert werden. Sie können dies verwenden, um E-Mails zu senden, indem Sie es aufrufen, beispielsweise mit einer internen Rest-API: localEmailServer / sendInvite / 123 wobei 123 = Benutzer-ID. Sie können dasselbe für die Anmeldung tun, indem Sie eine Nachricht an localEmailServer / login senden, die true oder false zurückgeben kann. Auf diese Weise kann Ihre Anwendung gehackt werden, sie verfügt jedoch nicht über die E-Mail-Adressen. Wenn Sie die Anzahl der Anfragen an diesen Service begrenzen, ist dieser Service besser geschützt, da Sie nicht anfällig für SQL-Injections in diesem Bereich sind.
Luc Franken

Antworten:


9

Das Speichern eines gesalzenen Hashs der E-Mail-Adressen ist möglicherweise aktiviert, wenn Sie diese Aufzeichnungen nur zur Bestätigung / Authentifizierung des Kontos aufbewahren.

In anderen Fällen scheint mir die Verschlüsselung der E-Mails die Pflege der Datenbank zu erschweren und gleichzeitig wenig Gegenleistung zu bringen.

Wahrscheinlich ist es eine bessere Wahl, den Zugriff auf die Datenbank selbst zu sichern: In der Regel enthält die Datenbank viele andere Informationen, die Sie nicht sammeln möchten.


Eine ähnliche Frage zu Stackoverflow: Lohnt es sich, E-Mail-Adressen in der Datenbank zu verschlüsseln?


Ich habe diese Frage nicht gesehen! Für die Aufzeichnung ist es eine alte Frage, aber ich glaube, es sollte jetzt Programmierern gehören.
Pierre Arlaud

3
@PierreArlaud: Eigentlich wäre das Ganze in Bezug auf Informationssicherheit besser, da es eigentlich nichts mit Programmierung zu tun hat.
Blrfl

Es gibt tatsächlich eine Rückkehr zum Verschlüsseln von E-Mails. Wenn Sie die Schlüssel nicht in derselben gefährdeten Datenbank speichern, können Sie dem Bösewicht die Verwendung der E-Mails verweigern. Denken Sie daran, dass eine E-Mail häufig zur Aktivierung von Konten und zum Ändern von Anmeldeinformationen verwendet wird.
NoChance

2

Ich denke, du hast schon alles gesagt.

Das einzige, woran ich denken kann, ist, keinen Einweg-Hash-Filter wie SHA1 zum Speichern der E-Mail-Adressen zu verwenden. Verwenden Sie in Ihrer Anwendung eine (umkehrbare) Verschlüsselung mit öffentlichen Schlüsseln und stellen Sie sicher, dass sich Ihr privater Schlüssel nicht in der Nähe der Datenbank befindet, damit er nicht zusammen "gestohlen" werden kann.

Auf diese Weise können Sie die E-Mail-Adressen zum Senden von E-Mails immer noch entschlüsseln.


6
Und? Und? Die Spannung bringt mich um :)
Pierre Arlaud

Und was? Was ist spannend? Verschlüsseln (entschlüsseln) in Ihrer App vor dem Speichern in der Datenbank bedeutet, dass Sie sich keine Sorgen machen müssen, wenn die Datenbank gestohlen, gehackt usw. wird. Wenn Sie jedoch E-Mails senden möchten, können Sie die E-Mail-Adressen aus der Datenbank entschlüsseln ? Vermisse ich etwas?
Laut Mawg wird Monica am

2
Nur ein Kommentar zum letzten Buchstaben Ihrer Antwort: D
Pierre Arlaud

Ich versuche herauszufinden, was Ihre Antwort besagt, dass Manlio es nicht getan hat. Grundsätzlich besteht die Idee darin, einen umkehrbaren Hash der E-Mail zu haben, beispielsweise einen gesalzenen Hash. Oder vielleicht hatten Sie etwas ganz anderes im Sinn?
Pierre Arlaud

Tut mir leid, wir haben uns wohl fast zur gleichen Zeit gemeldet.
Mawg sagt, Monica am
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.