Linux 5.13 或将支持创建秘密内存区域
Linux 的 memfd_secret 系统调用已经进入 Linux-Next 分支,接下来或将合并进 Linux 5.13 主线。 该功能已经开发超过一年。memfd_secret() 系统调用可以在 Linux 上创建秘密内存区域,该区域仅对拥有的进程可见,而不会映射到其他进程或内核页表。其可用于在 Linux 上为用户空间中的 OpenSSL 创建秘密内存区,以存储私钥,并减少私钥不受任何其他硬件加密保护时在系统内存中暴露的可能性。但是,为了确保 memfd_secret() 系统调用不被滥用,默认情况下将禁用在系统上创建秘密内存区的功能,除非在启动时通过了特殊选项。目前,秘密内存功能和 memfd_secret() 系统调用需要"secretmem_enable" 选项来开启。 这项工作是由 IBM 工程师 Mike Rapoport 领导的,他最初在 2019 年为 Linux 内核内存管理代码提出了一个 "MAP_EXCLUSIVE" 标志,以支持只有拥有进程才能看到的映射。这次对 memfd_create() 的秘密内存支持是对同一概念的进化。memfd_secret(...
