如何驗證 https://files.devuan.org/devuan-devs.gpg
我正在執行 Devuan Jessie。我想從頭開始安裝另一個 Devuan Ascii。所以我下載了:
- https://files.devuan.org/devuan_ascii/installer-iso/devuan_ascii_2.0.0_amd64_netinst.iso
- https://files.devuan.org/devuan_ascii/installer-iso/SHA256SUMS
- https://files.devuan.org/devuan_ascii/installer-iso/SHA256SUMS.asc
- https://files.devuan.org/devuan_ascii/devuan-devs.gpg
但我發現沒有辦法進行身份驗證
devuan-devs.gpg
。其他發行版(如 Debian 或 Ubuntu 或類似發行版)允許我從現有的先前版本驗證 ISO。
但是對於Devuan,我沒有找到任何辦法:
tino@ts:~/ISO/devuan_ascii-2.0.0$ gpg --verify SHA256SUMS.asc gpg: assuming signed data in `SHA256SUMS' gpg: Signature made Wed 06 Jun 2018 08:55:55 PM CEST using DSA key ID 0B5F062F gpg: Can't check signature: public key not found tino@ts:~/ISO/devuan_ascii-2.0.0$ gpg --no-default-keyring --keyring /usr/share/keyrings/devuan-archive-keyring.gpg --verify SHA256SUMS.asc gpg: assuming signed data in `SHA256SUMS' gpg: Signature made Wed 06 Jun 2018 08:55:55 PM CEST using DSA key ID 0B5F062F gpg: Can't check signature: public key not found tino@ts:~/ISO/devuan_ascii-2.0.0$ gpg --no-default-keyring --keyring /usr/share/keyrings/devuan-keyring.gpg --verify SHA256SUMS.asc gpg: assuming signed data in `SHA256SUMS' gpg: Signature made Wed 06 Jun 2018 08:55:55 PM CEST using DSA key ID 0B5F062F gpg: Can't check signature: public key not found tino@ts:~/ISO/devuan_ascii-2.0.0$ gpg --keyring ../devuan-devs.gpg --verify SHA256SUMS.asc gpg: assuming signed data in `SHA256SUMS' gpg: Signature made Wed 06 Jun 2018 08:55:55 PM CEST using DSA key ID 0B5F062F gpg: Good signature from "Vincenzo (KatolaZ) Nicosia <katolaz@freaknet.org>" gpg: aka "Vincenzo Nicosia (KatolaZ) <me@katolaz.homeunix.net>" gpg: aka "Vincenzo Nicosia (KatolaZ) <katolaz@yahoo.it>" gpg: aka "KatolaZ <katolaz@freaknet.org>" gpg: aka "Enzo Nicosia <katolaz@freaknet.org>" gpg: aka "Enzo Nicosia -- KatolaZ <katolaz@freaknet.org>" gpg: WARNING: This key is not certified with a trusted signature! gpg: There is no indication that the signature belongs to the owner. Primary key fingerprint: 8E59 D6AA 445E FDB4 A153 3D5A 5F20 B3AE 0B5F 062F
由於“鑰匙未經認證”,沒有跡象表明鑰匙不是假的。 如何修復這條破碎的信任鏈?
https://devuan.org/os/documentation/dev1fanboy/general-information也沒有解決這個謎。
筆記:
devuan-devs.gpg
大概不是假的。然而,這種假設並沒有幫助。必須有某種方法來確保它不是假的。最初的母雞問題已經解決了,因為 Devuan (Jessie) 已經在我身邊跑了。肯定有比將 Jessie 升級到 Ascii 更好的方法來驗證 Ascii 的 ISO。對?
不幸的是,似乎沒有更好的方法來驗證圖像:
- 所有涉及的文件都通過同一渠道下載;
- 用於簽署
SHA256SUMS
文件的密鑰在之前的 Devuan 版本中不可用;- 密鑰環中提供的密鑰未由任何其他密鑰簽名;
- 發佈到密鑰伺服器的密鑰已簽名,但它不在強集中,並且沒有任何簽名來自先前 Devuan 版本的密鑰環中的密鑰。
相同的密鑰可從密鑰伺服器和已發布的密鑰環中獲得這一事實可能被解釋為提供了更多保證,但我不確定它是否確實如此,因為我們仍然不知道所有者是合法的 Devuan 發布簽名者。
為了讀者的利益,我找到了一點幫助。這不是很多,但它是一小步。(現在我保留接受的答案,它仍然是最好的答案。)
這是 Devuan 的“舊”鍵的輸出:
$ gpg devuan-devs.gpg | head -3 gpg: WARNING: no command supplied. Trying to guess what you mean ... pub rsa4096 2015-11-20 [SC] [expired: 2018-11-20] 102EFE3BBA4B2E45EBD56C7A27B9FAA4EBAA93A1 uid Daniel Lambert Reurich <daniel@reurich.kiwi.nz>
這是 Devuan 的“新”鍵的輸出:
$ gpg devuan-devs.gpg.1 | head -3 gpg: WARNING: no command supplied. Trying to guess what you mean ... pub rsa4096 2015-11-20 [SC] [expires: 2021-02-24] 102EFE3BBA4B2E45EBD56C7A27B9FAA4EBAA93A1 uid Daniel Lambert Reurich <daniel@reurich.kiwi.nz>
devuan-devs.gpg.1
來自https://files.devuan.org/devuan-devs.gpg你可以發現兩件事:
- 有效期已更新
- 鑰匙的指紋沒有改變:
102EFE3BBA4B2E45EBD56C7A27B9FAA4EBAA93A1
因此,如果您找到一些您信任的舊密鑰,您可以檢查新密鑰是否基於舊密鑰,這樣您也可以信任新密鑰。(嗯,不太可能有人破解了私鑰,能夠破壞 Devuan 上傳公鑰上的虛假更新,而沒有人檢測到這一點。)
- 考慮到安全性,我沒有找到一種方法來正確、輕鬆地自動執行此類更新,抱歉。所以我們所擁有的只有這種非常繁瑣且極易出錯(人類不擅長檢查兩個長十六進製字元串是否真的相同)的手動方式。
- 我沒有找到擺脫的方法
gpg: WARNING:
(除了用 忽略它2>/dev/null
,但忽略 STDERR 可能是當你想做正確的事情時你能做的最愚蠢的事情)。現在我們確信新密鑰不會比舊密鑰差,我們可以這樣做:
mv devuan-devs.gpg.1 devuan-devs.gpg
當然,我們可以創建一些腳本,然後使用一些非常粗略的啟發式方法來解釋
gpg
輸出,用新密鑰更新舊密鑰。但是我們真的可以確定這個過程確實是正確的,並且我們真的不會因為一些我們忘記實施的邊緣情況而被欺騙嗎?談到安全性,如果這不是基於 100% 的保證,那麼自己做某事是一件非常糟糕的事情。
gpg
可能會改變輸出,或者有人可能會發明一些漏洞利用。兩者都可能欺騙腳本以查看不存在的某些身份。問題不是很確定。我們已經很確定沒有人入侵 Devuan,因此那裡的密鑰是真實的,對吧?但是我們仍然想要擺脫這個骯髒的小不確定性。所以用一些錯誤的安全感代替我們知道的一個不確定性(我們知道 Devuan 可能被黑客攻擊,但其他人有一天會發現)正確,因為它基於未經驗證的假設)實際上是安全性的倒退!
通過添加一些晦澀、未經證實和不可靠的腳本來提高複雜性對安全性沒有幫助。安全性是可以生活且易於應用的東西。如果它變得太複雜,安全性就會失敗。總是。