Security 对称密钥存储
我的公司将为我们的客户存储敏感数据,并将使用托管的.NET加密算法类之一对数据进行加密。大部分工作已经完成,但我们还没有弄清楚如何/在哪里存储密钥。我做了一些简单的搜索和阅读,似乎硬件解决方案可能是最安全的。是否有人对密钥存储解决方案或方法有任何建议Security 对称密钥存储,security,symmetric-key,key-storage,Security,Symmetric Key,Key Storage,我的公司将为我们的客户存储敏感数据,并将使用托管的.NET加密算法类之一对数据进行加密。大部分工作已经完成,但我们还没有弄清楚如何/在哪里存储密钥。我做了一些简单的搜索和阅读,似乎硬件解决方案可能是最安全的。是否有人对密钥存储解决方案或方法有任何建议 谢谢大家的回复 实际上,问题是你提到的两个“范围”。我想我应该说得更清楚些 数据本身以及加密和解密数据的逻辑被抽象为ASP.NET概要文件提供程序。此配置文件提供程序既允许加密配置文件属性,也允许纯文本属性。加密属性值的存储方式与纯文本属性值的存
谢谢大家的回复 实际上,问题是你提到的两个“范围”。我想我应该说得更清楚些 数据本身以及加密和解密数据的逻辑被抽象为ASP.NET概要文件提供程序。此配置文件提供程序既允许加密配置文件属性,也允许纯文本属性。加密属性值的存储方式与纯文本属性值的存储方式完全相同,唯一明显的例外是它们已加密 也就是说,由于以下三个原因之一,需要调用密钥:
完全披露-如果你还不能告诉我,我以前从未做过类似的事情,所以如果我对这应该如何工作的看法完全不正确,请务必告诉我。也有类似的问题。它只是通过使用主密码加密其配置来解决它。。。密码上的密码,如果您愿意。您最好的选择是物理保护密钥所在的硬件。此外,永远不要将其写入磁盘-找到某种方法防止该部分内存被分页到磁盘。当加密/解密密钥时,需要将其加载到内存中,并且对于不安全的硬件,总是存在这种攻击场所
正如您所说,有硬件加密设备,但它们不能扩展-所有加密/解密都通过芯片。您可以使用另一个对称密钥加密对称密钥,该对称密钥是使用类似的密码派生的 让用户提供密码,生成用于加密数据的新密钥,使用密码生成另一个密钥,然后加密并存储数据加密密钥
它不像使用硬件令牌那样安全,但它可能仍然足够好,而且非常容易使用。我想我误解了你的问题。您要求的不是应用程序如何处理其密钥存储,而是您的公司将如何存储它 在这种情况下,您有两个明显的选择:
- 物理:写入USB驱动器、刻录到CD等。存储在物理安全的位置。但是您遇到了递归问题:您将保险库的密钥存储在哪里?通常,您会委派两名或多名人员(或一个团队)来保管钥匙
- 软件:私人方舟是我的公司用来存储其秘密数字信息的东西。我们存储所有的管理员密码、许可证密钥、私钥等。它通过运行未加入域的Windows“vault”服务器来工作,对除自身端口以外的所有端口进行防火墙,并将其所有加密数据存储在磁盘上。用户通过web界面进行访问,该界面首先对用户进行身份验证,然后通过类似浏览器的界面与vault服务器进行安全通信。将记录所有更改和版本。但是,这也有同样的递归问题。。。主管理访问CD。这存储在我们的物理保险库中,访问权限有限
是的,您可以找到硬编码密钥,但只要您假设可以在任何位置存储对称密钥,它的安全性就不会降低。根据您的应用程序,您可以使用该方法让双方安全地商定对称密钥
初始安全交换后,密钥已达成一致,会话的其余部分(或新会话)可以使用此新的对称密钥。此问题(技术方面)只有两种真正的解决方案。 假设只有应用程序本身需要访问密钥
总的来说,钥匙被分成不同的部分,交给“受托人”。由于私钥的性质,每个段本身都是无用的。然而,如果数据需要解密,那么“受托人”可以将它们的部分组合成整个密钥。我们也有同样的问题,也经历了同样的过程。
我们需要启动一个流程