首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >加密、敏感数据的内存安全

加密、敏感数据的内存安全
EN

Stack Overflow用户
提问于 2011-03-21 02:28:33
回答 4查看 1.4K关注 0票数 9

我正在用c++编写一个服务器,它将处理将发送敏感数据的安全连接。

我们的目标是永远不会在内存之外的任何地方以未加密的形式保存数据,并将其保存在内存中定义的空间中(在不再需要时将其覆盖)

分配一大块内存并用它来存储敏感数据是否足够,并确保数据不会泄漏?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-03-21 04:15:48

出自tool that handles passwords手册

mlock()是否是保护敏感信息的适当方式也存在争议。根据POSIX的说法,mlock()-ing一个页面guarantees that it in memory (对于实时应用很有用),并不是说它不在交换中(对于安全应用很有用)。加密的交换分区(或无交换分区)可能是更好的解决方案。

然而,Linux做了guarantee that it is not in the swap,并专门讨论了安全应用程序。它还提到:

但请注意,笔记本电脑和某些台式电脑上的挂起模式会将系统内存的副本保存到磁盘上,而不管内存锁定情况。

票数 8
EN

Stack Overflow用户

发布于 2011-03-21 04:58:40

为什么不使用SELinux呢?那么,除非你告诉它可以,否则任何进程都不能访问其他东西。

我认为如果你要保护一个处理敏感数据的程序,你应该从一个安全的操作系统开始。如果操作系统不够安全,那么您的应用程序就无法修复它。

也许在使用SELinux时,你不需要在你的应用程序中做任何特殊的事情,使你的应用程序更小、更简单、更安全?

票数 3
EN

Stack Overflow用户

发布于 2011-03-21 03:38:27

你想要的是将内存的某个区域锁定到RAM中。请参阅mlock(2)的手册页。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5370497

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档