我有一个简单的加密应用程序,将在其中加密数据库中的“敏感”数据。只有具有访问权限的人才能以解密形式查看这些数据。我一直在寻找有关如何执行此操作的更多信息,这是我的项目方法:
现在,我的问题是如何安全地存储该私钥?从我一直在阅读的内容中,我可以使用FromXMLString获得私钥。但是,我在想,如果有人以某种方式获取了USB文件和XMLFile,他可以通过类似地使用FromXMLString来找到私钥。那么,如何使用密码保护该文件?我可以在C#中使用任何功能吗?
另外,如果更改 key 对,则必须更改公共(public) key ,并使用新的新公共(public) key 再次重新加密AES key 。为此,我发现How to Generate Unique Public and Private Key via RSA这个帖子非常有用。但是,我不确定作者是如何实现的。他是否还将 key 容器名称存储在私钥文件中?还是ToXMLString自动执行此操作?
谢谢〜
最佳答案
解密私钥的问题在于,该 key 将以明文形式传输到计算机的主内存中,并且有可能在存储区的交换中传输。有一些选择可以使用私钥而不将其存储到内存中:
使用其他棘手的选项:
此外,您还可以选择使用可以使用PIN或密码保护的USB驱动器。 Ironkey生产的认证USB驱动器在USB key 本身的硬件中执行AES加密。当然,这会将您的私钥移到内存中。
如果您必须在内存中使用私钥,请确保您的系统已正确加固,例如加密交换,确保您具有维护访问权限等的系统。
欢迎进入 key 管理领域:)
关于c# - 在文件中存储RSA私钥,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13947749/