У Брюса Шнайера хороший ответ на подобные проблемы.
Криптография не является решением ваших проблем безопасности. Это может быть частью решения, или это может быть частью проблемы. Во многих ситуациях криптография начинает с того, что усугубляет проблему, и совершенно не ясно, что использование криптографии - это улучшение.
По сути, шифрование ваших электронных писем в базе данных «на всякий случай» на самом деле не делает базу данных более безопасной. Где хранятся ключи для базы данных? Какие права доступа к файлам используются для этих ключей? Доступна ли база данных публично? Зачем? Какие ограничения существуют для этих учетных записей? Где хранится машина, у кого есть физический доступ к этому ящику? А как насчет удаленного входа / доступа по SSH и т. Д. И т. Д. И т. П.
Так что я полагаю, что вы можете зашифровать электронные письма, если хотите, но если это степень безопасности системы, то это на самом деле мало что делает, и фактически усложнит работу по поддержанию базы данных.
Конечно, это может быть частью обширной политики безопасности для вашей системы - если так, то отлично!
Я не говорю, что это плохая идея - но зачем иметь замок на двери от Deadlocks'R'us, который стоит 5000 долларов, когда они могут прорезать фанеру вокруг двери? Или войти через окно, которое вы оставили открытым? Или, что еще хуже, они находят ключ, оставленный под ковриком. Безопасность системы так же хороша, как и самое слабое звено. Если у них есть root-доступ, они могут делать то, что хотят.
Стив Морган отмечает, что даже если они не могут понять адреса электронной почты, они все равно могут принести много вреда (который можно было бы смягчить, если бы у них был только доступ SELECT)
Также важно знать, по каким причинам вы вообще храните адрес электронной почты. Я мог бы немного переборщить с этим ответом , но я хочу сказать, вам действительно нужно хранить адрес электронной почты для учетной записи? Наиболее безопасные данные - это несуществующие данные.