gpt4 book ai didi

c++ - 如何将 c++ 变量安全地保存在 RAM 中?

转载 作者:IT老高 更新时间:2023-10-28 22:32:58 28 4
gpt4 key购买 nike

我正在开发一个 C++ 应用程序,该应用程序将一些用户 key 保存在 RAM 中。这个 key 非常敏感,我必须尽量减少对它们进行任何形式攻击的风险。
我正在使用字符数组来存储这些键,我已经阅读了一些关于在 CPU 寄存器甚至 CPU 缓存中存储变量的内容(即使用 C++ register 关键字),但似乎不能保证强制应用程序将一些变量存储在 RAM 之外(我的意思是在 CPU 寄存器或缓存中)的方法。
任何人都可以提出一个好的方法来做到这一点或提出任何其他解决方案来将这些 key 安全地保存在 RAM 中(我正在寻找一个独立于操作系统的解决方案)?

最佳答案

你的意图可能是崇高的,但它们也被误导了。简短的回答是,在 通用 系统(即商品处理器/主板和通用 O/S)上确实没有办法做你想做的事。即使您可以以某种方式强制将内容仅存储在 CPU 上,它仍然无济于事。这只是一个小麻烦。

对于保护内存的更一般的问题,有特定于操作系统的解决方案表明不应将 block 内存写入页面文件,例如 VirtualLock Windows 上的功能。如果您正在加密并在该内存中保存敏感数据,那么这些是值得使用的。

最后一件事:我要指出让我担心的是您对 register 关键字及其安全含义存在根本性的误解;请记住,这是一个提示,它不会 - 实际上,它不能 - 强制将任何内容实际存储在寄存器或其他任何地方。

现在,这本身并不是什么大问题,但在这里却是一个问题,因为它表明您并没有真正掌握安全工程或风险分析,如果您是设计或实现真实世界的加密解决方案。坦率地说,您的帖子表明(至少对我而言)您还没有准备好构建或实现这样的系统。

关于c++ - 如何将 c++ 变量安全地保存在 RAM 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16500549/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com