如何从计算机中删除 OpenPGP 私钥?

如何从计算机中删除 OpenPGP 私钥?

正如标题所示,我想知道如何安全地从我的电脑中物理删除我的私钥。我似乎找不到在 Kleopatra 上这样做的方法。我所说的这些密钥仅用于高安全性操作。所以我宁愿将我的私钥仅存储在我信任的 USB 上,而不是其他地方。如果我存放密钥的电脑被盗用,那么我的密码将是我剩下的唯一防线。因此,如果我可以安全地删除存储在我电脑上的私钥并在需要时从我的 USB 上读取它们,那将非常方便。关于如何做到这一点有什么建议吗?

答案1

您实际上不能只移动私钥,移动整个 GnuPG 主目录会更容易,它通常是隐藏文件夹~/.gnupg(在 Windows 中,位于隐藏的 AppData 文件夹的某个深处)。

如果将此文件夹移动到 USB 驱动器,请使用 GnuPG 选项--homedir让 GnuPG 使用 USB 驱动器上的目录,或者设置环境变量GNUPGHOME

不过,请考虑使用 OpenPGP 智能卡:使用这些智能卡,私钥将保留在智能卡上,并且永远不会导出到您的计算机。因此,即使在受感染的计算机上使用,潜在的攻击者在移除智能卡后也会再次失去访问权限。还有通过 USB 连接的解决方案,例如YubiKey或者硝基

答案2

我曾经用它来删除用户主目录中的整个目录secure-delete(在 Ubuntu 上apt-get update && apt-get install secure-delete)。命令是test -d ~/.gnupg && srm -r ~/.gnupg

为了更好地安装熵apt-get update && apt-get install haveged,请创建配置文件echo -e "# Configuration file for haveged\nDAEMON_ARGS=\"-w 1024\"" | tee /etc/default/haveged并重新启动服务test -f /etc/init.d/haveged && /etc/init.d/haveged restart

您必须以 root 身份安装secure-delete和运行。任何具有 shell 的用户都可以运行haveged命令。这些命令是我在 Ubuntu Xenial (16.04 LTS) 中使用的。srm

答案3

将您的.gnupg目录复制到您的 USB 驱动器。

然后使用安全擦除程序清除旧.gnupg目录;使用哪个程序取决于您的操作系统。不要只依赖删除文件,因为这样可以保留大部分数据。

然后使用命令行选项运行 GPG --homedir <newdir>,其中新目录是您的 USB 磁盘上的 GPG 目录。

相关内容