正确使用 GPG

正确使用 GPG

我对加密技术还不熟悉,尤其是 GPG。我的用例是将个人文档存储在网络驱动器上。这些文档是扫描件(例如文凭、文件)。我使用 生成了一个 GPG 密钥gpg --gen-key,然后使用 加密了一些图像gpg -e -r <name> <file>。默认情况下,它似乎会输出以原始文件命名并以 为后缀的文件.gpg,例如diploma.jpg变成diploma.jpg.gpg

如果知道文档的类型,我是否会为已知明文攻击打开大门?

另外,我应该采取什么步骤来备份我的密钥(将其打印在纸上......)?

答案1

我不会担心文件名和可能知道的前几个字节。但如果您对此感到不安,请考虑这一点:

  • 您可以使用带有 AES 加密的 .7z 或 .zip 容器
  • 您可以使用诸如 truecrypt 之类的容器程序

记住:

  • gpg 以混合模式加密您的文件,这意味着:它使用非对称密钥加密“会话密钥”,然后使用该会话密钥加密实际数据。因此,使用非对称密钥加密只有您关心的内容实际上不会获得任何好处(请记住:非对称加密仅在数据量相对较少时才适用于密钥交换之类的操作)

  • 没有理由不使用对称加密,因为无论如何你都想记住文件/容器的密码:gpg --symmetric -e

由于您将自己描述为该主题的新手:请在 gnupg-manual 中阅读一些相关内容:

http://www.gnupg.org/gph/en/manual.html#CONCEPTS

答案2

GPG 会在加密文件之前对其进行压缩,这样可以降低纯文本攻击的可能性,无论文件类型如何。此外,如果发生罕见的消息被泄露的情况,不是表明该消息的收件人的密钥已被泄露。

后一部分的原因与 GPG 加密消息和文件的过程有关。首先,通常使用 zlib 压缩内容。然后使用一次性密码(称为会话密钥)对压缩数据进行对称加密。然后使用收件人的公钥对会话密钥进行非对称加密。解密消息时,过程相反:收件人使用其密钥和密码解锁会话密钥,GPG 使用会话密钥解密对称加密的数据,最后解压缩数据。

对单个消息的攻击更有可能导致确定会话密钥,而不是泄露任何公钥。

如果您仍想隐藏文件类型,请执行以下操作:

gpg -ear $RECIPIENT_ID -o filename.asc filename.odt

要在解密时恢复原始文件名,请执行以下操作:

gpg --use-embedded-filename filename.asc

GPG 会将解密的数据写入存储在对称加密数据中的原始文件名,以及重建数据所需的其他信息。

注意:如果手动解密电子邮件程序中的密文,请勿使用上述嵌入文件名标志,尤其是使用 Thunderbird 和 Enigmail 时。许多电子邮件加密程序(包括 Thunderbird 和 Enigmail)不会从草稿中分配原始文件名,以这种方式解密可能会导致问题,例如尝试将数据写入空文件名。

答案3

据我所知,知道加密文件所含的数据类型对于破解来说毫无用处,因为加密并不关心数据的类型。对于加密来说,它们只是毫无意义的位(数字)。

关于您的密钥,最安全的选择是记住它,因为您的思想无法被访问;)

答案4

回答问题的第二部分:

另外,我应该采取什么步骤来备份我的密钥(将其打印在纸上......)?

首先我们来谈谈撤销证书。您绝对应该创建并备份主密钥的撤销证书。许多人会制作纸质副本(ASCII 编码或二维码)并将其存储在安全的地方,例如保险箱、带锁的防火箱或银行的保险箱。如果您的主密钥(认证密钥)被泄露,您将拥有一个备份,可以在撤销证书从您的设备中消失或设备丢失等情况下撤销它。

如果您没有撤销证书,请使用以下命令创建。“mykey”是密钥的名称,可以是指纹的最后 8 个字符。

在此处输入图片描述

gpg --output revoke.asc --gen-revoke mykey

撤销证书看起来就像这样,打印起来很容易。但你必须小心。打印可能会让它受到损害。

-----开始 PGP 公钥块-----

注释:这是一份撤销证书

iQG2BCABCAAgFiEEiz1thFzdqmEJkNsdNgBokN1gxcwFAlsrcOsCHQAACgkQNgBo kN1gxczZ1Qv/aUNZgG0Sjasbu2sDMcX+rjEUNpIGUB6zjcTsPwpXfFo11aM3yefb k0FgMohA8HUwmN4ka+P31jYuNuLNCqFdT8DKKuQk6XgKnX3NieahG/dFaVANXyHR ...........................................这只是一个撤销证书的示例................................................... =4lcB

-----结束 PGP 公钥块-----

现在,关于备份你的主密钥:

解决方案一:备份主密钥就像复制整个文件一样简单。解决方案二:拥有离线主密钥 (C) 确实可以增加您的安全性,并且可能值得这样做,具体取决于风险评估。如果您使用笔记本电脑或上网本存储密钥,将主密钥移至离线可能是一个特别好的主意。

有两种方法可以获取离线主密钥: 艰难之路更简单的艰难之路

从主密钥(C)中删除密钥并运行

gpg2-K

结果应如下所示:

在此处输入图片描述

注意#旁边——这表明密钥不再存在。

相关内容