我正在审查一个使用 Redis 存储所有客户端机密、私钥和其他内容的系统。问题是Redis 将整个数据库加载到 RAM 中
由于已知 SSL 的heartbleed、 Rowhammer 和其他黑客攻击会将内存暴露给不受信任的用户,我认为任何其他类似的黑客攻击都可能会暴露整个数据库,其中如果我使用 SQL 服务器,那么在给定时间在 RAM 中的私钥会更少.
可能有更好的方法来做到这一点。
由于他们需要托管和存储客户的机密和 PI,我希望他们使用按需加载的方法,而不是过于激进地在 RAM 中加载不需要的数据,并尽快卸载我在 RAM 中的所有内容。
如果我赞同这样的哲学......
当周围的数据副本较少时,我的数据更安全,不会受到攻击
...那么减少 RAM 暴露的最佳方法是什么? 安全擦除内存?
我正在使用 ASP.NET 和 DiskIO 查看 SecureString,但我很难找到一个不会在驱动程序、预取队列或其他位置留下不需要的字符串副本的端到端实现。