Security

GPG:沒有新導入密鑰的簽名

  • September 14, 2021

短的

GPG 不再獲得導入公鑰的簽名(使用 Ubuntu 20.04),而它在 6 個月前(使用 Ubuntu 18.04)做到了。我不明白出了什麼問題。

3 月,我按照這個迷你 HOW-TO 來驗證 Ubuntu ISO。當我導入簽名校驗和文件的公鑰以驗證 ISO 文件時,我收到一條消息,說這個新密鑰有 72 個簽名。我列出了這個密鑰的簽名,所以我可以找到指紋並導入這 72 個公鑰。依此類推,我可以向上移動信任鏈,直到找到一個可信任的密鑰(如果我理解所有內容)。

但是從那天起,我重新安裝了我的作業系統,所以所有的 GPG 密鑰都被刪除了。現在,當我做同樣的操作時,第一個導入的公鑰根本沒有簽名。那麼我怎樣才能提升信任鏈呢?

有什麼我想念的嗎?謝謝你的幫助。

以下是三月和今天完成的命令,以查看差異。

1) 3 月 Ubuntu 18.04 的命令(是的,我此時複製了它以提供範例):

$ gpg --keyserver hkps://keyserver.ubuntu.com --recv-keys 843938DF228D22F7B3742BC0D94AA3F0EFE21092
gpg: key D94AA3F0EFE21092: 2 duplicate signatures removed
gpg: key D94AA3F0EFE21092: 72 signatures not checked due to missing keys
gpg: key D94AA3F0EFE21092: public key "Ubuntu CD Image Automatic Signing Key (2012) <cdimage@ubuntu.com>" imported
gpg: no ultimately trusted keys found
gpg: Total number processed: 1
gpg:               imported: 1
$ gpg --list-signatures 843938DF228D22F7B3742BC0D94AA3F0EFE21092
pub   rsa4096/D94AA3F0EFE21092 2012-05-11 [SC]
     843938DF228D22F7B3742BC0D94AA3F0EFE21092
uid                 [ unknown] Ubuntu CD Image Automatic Signing Key (2012) <cdimage@ubuntu.com>
sig 3        D94AA3F0EFE21092 2012-05-11  Ubuntu CD Image Automatic Signing Key (2012) <cdimage@ubuntu.com>
sig          0BFB847F3F272F5B 2012-05-11  [User ID not found]
sig          393587D97D86500B 2012-05-11  [User ID not found]
sig          5759F35001AA4A64 2012-05-12  [User ID not found]
...

2) 當今使用 Ubuntu 20.04 的命令

$ gpg --keyserver hkps://keyserver.ubuntu.com --recv-keys 843938DF228D22F7B3742BC0D94AA3F0EFE21092
gpg: key D94AA3F0EFE21092: public key "Ubuntu CD Image Automatic Signing Key (2012) <cdimage@ubuntu.com>" imported
gpg: Total number processed: 1
gpg:               imported: 1
$ gpg --list-signatures 843938DF228D22F7B3742BC0D94AA3F0EFE21092
pub   rsa4096 2012-05-11 [SC]
     843938DF228D22F7B3742BC0D94AA3F0EFE21092
uid           [ unknown] Ubuntu CD Image Automatic Signing Key (2012) <cdimage@ubuntu.com>
sig 3        D94AA3F0EFE21092 2012-05-11  Ubuntu CD Image Automatic Signing Key (2012) <cdimage@ubuntu.com>

$ 

正如我們今天看到的,沒有更多的 72 個簽名。

可悲的是,這就是為什麼不能擁有美好事物的通常原因:有人發現瞭如何濫用 GPG 生態系統,然後就這樣做了。

SKS 密鑰伺服器網路多年來一直存在已知漏洞,並且在 2019 年年中,終於有人開始大量利用這些漏洞,在添加虛假使用者 ID 或撤銷證書後重新送出合法使用者的公鑰,或者只是添加荒謬數量的簽名到鍵。

https://code.firstlook.media/the-death-of-sks-pgp-keyservers-and-how-first-look-media-is-handling-it

https://gist.github.com/rjhansen/67ab921ffb4084c865b3618d6955275f

結果,GPG“信任網路”對其造成了一些重大損害,必須更新 GPG 以更加小心“中毒”密鑰、撤銷證書和簽名。在新安裝時,GPG 的預設設置(希望)現在可以適應新情況。

為了減輕損害,一個新的密鑰伺服器實現,“Hagrid”,從密鑰中剝離所有(非自我)簽名,並且為了將使用者 ID 附加到密鑰,需要雙重選擇驗證。可悲的是,這使信任鏈的重建變得複雜。您仍然可以從密鑰伺服器獲取實際的密鑰材料,但您需要自己做更多的工作來確定您是否信任與密鑰關聯的身份。

引用自:https://unix.stackexchange.com/questions/668870