安全设计,维护电子邮件但未链接到关联数据?

时间:2011-06-20 20:29:06

标签: asp.net security umbraco

我的朋友和我正在考虑网络创意并遇到了一个问题:

在黑客获取数据库的情况下,我们不能允许电子邮件地址与其关联数据一起位于数据库中。我们希望确保电子邮件地址及其相关数据永远不会被链接,但另一方面我们还需要以某种方式保持它们的链接,以便我们可以向用户发送电子邮件通知E.T.C

任何人都可以想到或知道解决这个问题的方法吗? (.NET,Umbraco)

谢谢!

2 个答案:

答案 0 :(得分:1)

拥有2个数据库,一个包含用户+数据+用户ID,另一个包含用户ID +电子邮件。保护它们两者,如果一个被发现,另一个可能不是。

无论如何,你要求我们证明虚假。 ^^

答案 1 :(得分:0)

我无法想到一种将用户数据与电子邮件相关联的方法,而无需实际将用户数据与电子邮件相关联。但是,如果您只能在用户登录时使用其电子邮件地址,则可以不在电子邮件中存储和链接电子邮件地址。

您可以要求用户使用他们的电子邮件地址和密码登录,就像许多网站一样,但您可以存储电子邮件地址的单向哈希(例如sha1(电子邮件+密码))而不是地址本身。当用户成功登录时,您可以将他们的电子邮件地址存储在会话中,而无需从数据库中获取。然后,您可以向他们发送电子邮件,直到您销毁其会话。这样可以防止攻击者将数据连接到他们的电子邮件,而不会强制散列或从内存或用户cookie中获取会话信息,具体取决于您的存储方式。

不幸的是,这不允许您发送通知电子邮件。