0

我有一个 ASP.NET (MVC4) 站点,其中包含一些敏感信息,我采取了一些安全措施:输入验证,使用 Razor 语法,所有查询都通过 LINQ 执行,表单经过令牌验证。仍然我们都知道没有系统 100% 的违规证明。

该信息仅在连接到用户时才敏感,所以我想知道是否有办法加密链接,我的意思是,如果出现安全漏洞,黑客将无法将用户与信息。

现在我正在以“常规”方式与相关实体合作:

User
  -- UserId
  -- UserName

SensitiveTable
  -- Id
  -- UserId
  -- Sensitive

有没有办法“加密”关系,以便用户能够管理他/她的信息,而潜在的攻击者将无法连接两个表?

我应该采取其他安全措施来防止这种情况吗?

4

1 回答 1

0

您可以使用 BCrypt 之类的东西对用户 ID(或电子邮件或其他东西)进行哈希处理,系统盐是硬编码到您的应用程序代码中,也许是使用您自己的算法生成的每个用户的盐,这将阻止您做任何事情数据库中从 User 表连接到 Sensitive 表的查询。

这将使有权访问您的数据库但不能访问您的应用程序代码的人难以确定关系。

于 2013-08-28T18:07:05.057 回答