Czy powinienem przechowywać adresy e-mail jako zwykły tekst w bazie danych?


14

Dla wszystkich jest jasne ( mam nadzieję ), że przechowywanie haseł bez ich solenia / mieszania jest okropnym pomysłem.

A co z e-mailami? Załóżmy, że zachowujesz adres e-mail subskrypcji, jeśli odpowiednio go zaszyfrujesz, wysyłanie wiadomości e-mail do użytkowników może nie być możliwe. Z drugiej strony, jeśli go nie zaszyfrujesz, a baza danych zostanie skradziona, wszyscy użytkownicy ryzykują potencjalnym spamem.

To pytanie nie dotyczy kwestii specyficznych dla prawa (chociaż można je podać, pozostają zależne od kraju) ani szyfrowania samej bazy danych.


Pomyśl, że należy przechowywać wszystkie informacje umożliwiające identyfikację osób (dane osobowe) w bezpieczny sposób. Oznacza to szyfrowanie danych, których aplikacja powinna potrzebować (tj. Wysłanie e-maila weryfikacyjnego) oraz danych hash / salt używanych do uwierzytelniania (np. Hasło). Ponadto oczywiście zabezpieczenie bazy danych jest w tym przypadku obowiązkowe.
Ilan Huberman

Możesz skonfigurować osobną aplikację, która przechowuje na przykład tylko e-mail + hasła (+ inne prywatne dane). Możesz użyć tego do wysyłania wiadomości e-mail, wywołując go, na przykład za pomocą wewnętrznego interfejsu API odpoczynku: localEmailServer / sendInvite / 123 gdzie 123 = identyfikator użytkownika. Możesz zrobić to samo przy logowaniu, wysłać wiadomość na adres localEmailServer / login, który może zwrócić wartość true lub false. W ten sposób Twoja aplikacja może zostać zhakowana, ale nadal nie będą miały adresów e-mail. Jeśli ograniczysz liczbę żądań do tej usługi, jest ona bardziej chroniona, ponieważ nie jesteś podatny na takie rzeczy jak zastrzyki SQL z tej strony.
Luc Franken

Odpowiedzi:


9

Przechowywanie solonej wartości skrótu adresów e-mail może być włączone, jeśli przechowujesz te rekordy tylko w celu potwierdzenia / uwierzytelnienia konta.

W innych przypadkach wydaje mi się, że szyfrowanie wiadomości e-mail utrudniłoby utrzymanie bazy danych przy jednoczesnym niewielkim zysku.

Prawdopodobnie zabezpieczenie dostępu do samej bazy danych jest lepszym wyborem: zwykle w bazie danych znajduje się wiele innych informacji, których nie chciałbyś gromadzić.


Podobne pytanie na temat Stackoverflow: Czy warto szyfrować adresy e-mail w bazie danych?


Nie widziałem tego pytania! Nawiasem mówiąc, jest to stare pytanie, ale uważam, że powinno ono należeć teraz do programistów.SE.
Pierre Arlaud

3
@PierreArlaud: Właściwie cała sprawa byłaby lepsza w zakresie bezpieczeństwa informacji, ponieważ tak naprawdę nie ma to nic wspólnego z programowaniem.
Blrfl

Rzeczywiście istnieje zwrot z szyfrowania wiadomości e-mail. Jeśli nie przechowujesz kluczy w tej samej zainfekowanej bazie danych, pozbawiasz złego faceta korzystania z wiadomości e-mail. Pamiętaj, e-mail jest często używany do aktywacji kont i zmiany poświadczeń.
NoChance 24.01.17

2

Myślę, że już to wszystko powiedziałeś.

Jedyne, co mogę wymyślić, to nie używać jednokierunkowego filtru skrótu, takiego jak SHA1, do przechowywania adresów e-mail. Użyj pewnego (odwracalnego) szyfrowania klucza publicznego w swojej aplikacji i upewnij się, że twój klucz prywatny nie znajduje się w pobliżu bazy danych, aby nie można go razem „skradzić”.

W ten sposób nadal możesz odszyfrować adresy e-mail, aby wysyłać e-maile,


6
I? I? Napięcie mnie zabija :)
Pierre Arlaud

I co? Co jest trzymającego w napięciu? Szyfruj (odszyfrowuj) w swojej aplikacji przed zapisaniem w bazie danych oznacza, że ​​nie musisz się martwić, że baza danych zostanie skradziona, zhakowana itp. Ale jeśli chcesz wysyłać wiadomości e-mail, możesz odszyfrować adresatów wiadomości e-mail z bazy danych. ? Czy coś brakuje?
Mawg mówi o przywróceniu Moniki

2
Tylko komentarz do ostatniego znaku twojej odpowiedzi: D
Pierre Arlaud

Próbuję znaleźć odpowiedź na pytanie, że Manlio nie. Zasadniczo chodzi o to, aby mieć odwracalną wartość skrótu wiadomości e-mail, taką jak skrót solony. A może miałeś na myśli coś zupełnie innego?
Pierre Arlaud

Przykro nam, ale przesłaliśmy je w tym samym czasie.
Mawg mówi o przywróceniu Moniki
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.