我正在撰写需要处理重要数据的应用。我想知道将这些重要数据以清晰的形式存储到程序变量中是否更安全,或者将加密版本的数据存储到变量中,将解密密钥存储到另一个变量中。
在我看来,这里的问题是,如果有人以清晰的形式访问数据或加密数据以及解密密钥,那么无论如何它基本上都可以访问数据。
那么,哪一个最安全,为什么?
将解密密钥存储到OS内置密钥环中而不是将其存储到变量中会更安全吗?
有没有更安全的方法呢?
答案 0 :(得分:1)
长期存储中保存的敏感数据应始终加密。单独握住钥匙,使其不会随数据一起被盗。您可以将它放在保险箱中的USB记忆棒上(保存在场外的安全备份副本)并定期更换。
实际处理的数据需要解密并保存为纯文本。确保在释放内存之前明确覆盖任何此类数据和密钥。您的操作系统可能会受到限制。例如,安全操作系统将擦除交换到光盘的任何内存映像,这是普通操作系统不会的。
某些语言提供安全的存储类来保存密钥等内容。阅读文档以了解已有的内容。