C:在控制台中安全地输入和存储字符串的简单方法?

时间:2011-07-03 07:20:40

标签: c security memory input console

我正在创建一个控制台应用程序,它将一些敏感字符串存储在内存中,以便发送到另一个客户端。在这种情况下,它几乎就像一个安全的信使(可以接受几个百分点的不安全感),虽然不那么复杂。

接受用户输入(一个接受一个字母的功能,用于处理目的,例如查找关键字母)到分配的内存的一部分是完全不安全的,就不受其他进程的保护而言可能间谍?

我很想在将每个字符发送到字符串之前对其进行编码,尽管这看起来有点傻。是否有任何方法可以“锁定”对malloc的访问(至少是对内存查看的微不足道的尝试)或类似的技术来保护内存中的字符串?

谢谢。

我对许多想法持开放态度,目前只是在计划中。

1 个答案:

答案 0 :(得分:1)

如果你想要真正的安全性来防止任何人看到你在内存中存储的内容,那么在你阅读它时加密(或至少,混淆)每个角色是可行的方法。否则,您无法阻止确定的攻击者在内存中查看您的纯文本数据。事实上,我认为蓝光主密钥因为一个设备将密钥的未加密表示加载到其内存中而被破解。