【发布时间】:2012-12-03 14:02:11
【问题描述】:
我有一个在 sql server 数据库中存储散列密码的 .net 应用程序。
密码使用盐进行散列,该盐与散列密码一起存储在数据库中。
作为额外的安全层,我使用另一个站点范围的密钥对散列密码进行哈希处理,出于安全原因,该密钥未存储在数据库服务器上。由于系统是负载平衡的,我应该将站点范围的密钥存储在哪里?将其副本存储在我的每个 .net 应用程序的配置中(所有服务器上的值相同)。
第二个问题是,存储密码的推荐散列机制是什么?
【问题讨论】:
-
你使用什么哈希算法?再次散列不太可能显着提高安全性;咨询Is double-hashing a password less secure...。
-
只要它们在 Internet 上不可见(并且永远不可见),存储站点特定盐的位置是否很重要?如果服务器闯入您的数据库和网络服务器,他们可能很容易获得您网站的特定盐。
标签: asp.net security hash passwords