如何在保密的同时自动执行使用密码短语的 gpg 解密?

Zak*_*zee 16 security ubuntu gpg

我的任务是使用 cron(或任何 Ubuntu Server 兼容的作业调度工具)自动执行 gpg 解密。由于它必须是自动化的,所以我使用了--passphrase它,但它最终会出现在 shell 历史记录中,因此它在进程列表中可见。

我怎样才能在保持良好(最好是伟大的)安全标准的同时进行自动化解密?

一个例子将不胜感激。

Ste*_*itt 25

将密码存储在一个只能由 cron 作业的用户读取的文件中,并使用--passphrase-file选项告诉gpg在那里读取密码。

这将确保密码在内存中的进程信息中不可见。安全级别将取决于对存储密码的文件的访问级别(以及对包含密钥的文件的访问级别),包括其内容最终复制到的任何位置(因此请注意备份),和离线可访问性(将磁盘从服务器中拉出)。这种安全级别是否足够取决于您对保存文件的服务器的物理和软件访问控制,以及您尝试缓解的情况。

如果您想要更高的安全标准,您需要使用硬件安全模块而不是在本地存储您的密钥(和密码)。这不会阻止密钥在原地使用,但会阻止它被复制并在其他地方使用。


Eig*_*ony 5

自动解密意味着您必须将密码存储在某处,或者不使用密码(除非您使用斯蒂芬在我输入时提交的另一个答案中指出的其他选项)!这些都不符合您对良好或出色的安全标准的要求。

即您的要求与它的安全性不兼容。

您可以依赖诸如 - 您必须是 root 用户,我为存储我的密码短语的文件提供了一个非常令人困惑的名称,我已经加密了底层文件系统等,但它们都是层一旦您首先扎根,这些就很容易规避。

阻止密码出现在进程列表中的选项是--passphrase-file <file-name>.

但是,这并不比首先删除密码更安全。