【发布时间】:2010-12-07 14:20:59
【问题描述】:
.Net 服务器应用程序是否有任何与存储和检索敏感的每用户信息(例如 3 方凭据)相关的参考模式?
我的初步设计思路是:
- 使用适当强的私钥生成自签名 X509 证书,
- 将证书和密钥导出并存储在USB密钥中,该密钥将被锁定在宝箱中并由龙守护,
- 设计我的服务器应用程序以根据需要从 windows 当前用户证书存储请求私钥,
- 在新服务器上安装服务器应用程序时,检索 USB 密钥并导入证书并将私钥标记为不可导出。
我的要求是:
- 尽可能降低存储介质受损时用户敏感信息受损的风险。就我而言,存储介质可以是关系数据库或 Amazon 的 SimpleDB,
- 如果 .Net 服务器的主机操作系统(在本例中为 Window 的数据中心版)受到威胁,则降低用户敏感信息受到威胁的风险。
更新 3. 忘了提到能够定期更新密钥是一项要求,因此同一个私有加密密钥不会在 10 年内使用。
问题:
- 如果主机操作系统受到威胁,攻击者可以安装恶意应用程序来执行与我的 .Net 服务器相同的解密操作。
更新 再考虑一下操作系统的危害,我意识到如果熟练的攻击者获得访问权限,则无能为力,但应保护密钥免受恶意管理员的侵害,即不仅仅是打开文件或注册表项以提取私钥的问题.
我确定这个问题已经解决了一千次了,非常高兴获得链接答案,但是搜索“安全加密”类型的主题是低信号高噪音。
【问题讨论】:
标签: .net security design-patterns encryption