GPG 良好的签名但警告:不受信任的签名

信息安全 电子邮件 pgp
2021-08-15 05:02:51

我在签署邮件时遇到了一些客户无法打开电子邮件附件的问题。他们得到的错误类似于(免费翻译):

错误:无法打开。无法验证数字签名。

使用 gpg 检查发送的消息会产生以下结果:

gpg: Good signature from "John Doe <john@doe.com>" 
gpg: WARNING: This key is not certified with a trusted signature! 
gpg: There is no indication that the signature belongs to the owner.

我想继续签名并最终加密离开办公室的所有通信,但我需要解决附件问题。

  • 我将如何解决这个问题?接收端是否将我的签名标记为受信任?有没有办法做到这一点,而不涉及接收者(密钥服务器?)的动作?
2个回答

信任谁?

签名可以成功验证,这意味着它确实是用公布的私钥签名的。这把钥匙声称它属于“John Doe”。

但是,您的 GnuPG 设置不信任此密钥。每个人都可以为 John Doe 创建一把钥匙;你只知道有人用用户 ID 创建了一个密钥 John Doe 向你发送了这条消息。

验证密钥所有权

要确定此消息的发件人是否真的是他声称的人(John Doe),您应该以另一种可信的方式了解他的密钥 ID(更好的完整指纹)(它不一定是安全的,因为只有公共信息,即他的公钥 id,被传输)。之后,下载并签署他的密钥:

gpg --recv-keys 0x12345678
gpg --sign 0x12345678

您签署的所有密钥(以及他们的签名)将在未来得到验证。

信任网络

您还可以使用信任网络。通过信任密钥,在验证密钥的有效性时也会考虑该密钥所有者给出的签名。看看这个答案,它更详细地解释了信任、有效密钥和信任网络:这个 gpg 输出关于信任的确切含义是什么?

要打开消息,必须有某种方式告诉 GPG 该消息来自您信任的人。仅拥有一个人的公钥是不够的:如果您提供单独的签名文件,对方可以使用公钥来验证文件,但 GPG 将拒绝解密没有您签名的匹配公钥的文件,或您信任的人。

所以你有它:告诉你的客户签署你的公钥,并将你的公钥的信任设置为完全或最终。但请注意,请在他们验证您的公钥副本的有效性后告诉他们这样做,无论是通过电话告诉他们您的公钥的签名哈希值还是亲自告诉他们。毕竟,信任级别被称为“完全”和“最终”是有原因的。