相当于CryptProtectMemory的Linux
发布时间:2020-05-24 11:44:22 所属栏目:Linux 来源:互联网
导读:当我的进程内存被分页时,我正在尝试保护我的内存中数据以防止交换文件读取. 我知道Windows SDK中的CryptProtectMemory()可以用来加密内存缓冲区. 我在Linux上找不到任何这样的功能,如果有人知道,请告诉我. 我们可以使用mlock()以便内存不会被分页,但这是否意
|
当我的进程内存被分页时,我正在尝试保护我的内存中数据以防止交换文件读取. 我知道Windows SDK中的CryptProtectMemory()可以用来加密内存缓冲区. 我在Linux上找不到任何这样的功能,如果有人知道,请告诉我. 我们可以使用mlock()以便内存不会被分页,但这是否意味着我的秘密是安全的? 解决方法Linux中与CryptProtectMemory()最接近的等价物是libgcrypt中的gcry_malloc_secure().分配的安全内存将被锁定在内存中; gcry_free()将归零并解除分配.其他加密库也有类似的调用,例如Botan中的模板
secure_vector.
另一种方法确实是在整个缓冲区上使用较低级别的POSIX调用mlock().尽管如此,将缓冲区归零的负担仍然存在.当缓冲区不再使用或程序终止时,您必须手动调用memset()). CryptProtectMemory()似乎与上述两种方法中的任何一种略有不同:它创建一个小的随机会话密钥并使用它来加密缓冲区.好处是您只需要锁定并最终仅将密钥所在的非常小的页面归零,而不是整个缓冲区.如果缓冲区非常大,那可能会有所不同.但是,我们将无法在缓冲区中操作或处理数据.秘密数据可交换时还有一个小时间窗口. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- linux – ARP回复包含错误的MAC地址
- linux – 如何处理vim的交换文件系统?
- linux – 有没有办法过滤远程IMAP帐户中的邮件?
- redhat – 以不同的用户身份运行
- linux-kernel – linux / scripts / recordmcount:没有这样
- LINUX入门:如何在Ubuntu 16.04上正确安装Oracle Java
- linux – 支持颜色的“更多”命令替代方案?
- linux – 使用Vagrant从配置shell脚本更新.bashrc
- 为什么“shutdown -r now”的行为与Debian Linux上的“rebo
- linux – 可以在“su”命令中忽略用户shell吗?
