gpg 金鑰伺服器在我的金鑰上重複簽名

gpg 金鑰伺服器在我的金鑰上重複簽名

我建立了一個新的 GPG 金鑰(rsa + rsa 子金鑰),我們將其稱為 key1,並將其上傳到金鑰伺服器。它有兩個 uid。

後來我用另一個金鑰(我們稱之為 key2)簽署了這個新金鑰,並上傳了變更。所以金鑰現在有以下簽章:

first uid:
    signed by key1
    signed by key2
second uid:
    signed by key1
    signed by key2
key1 - subkey;
    signed by key1

這一切都如預料的那樣。後來我從金鑰伺服器刷新了我的金鑰,key1 得到了兩個新簽章。這兩個簽章與 key1 的簽章重複,因此金鑰現在如下所示:

first uid:
    signed by key1
    signed by key2
    signed by key1 <- duplicate
second uid:
    signed by key1
    signed by key2
    signed by key1
key1 - subkey;
    signed by key1

為什麼金鑰伺服器要複製這些簽章?它們有什麼特殊用途嗎,或者這只是一個錯誤?

答案1

假設您指的是為您在這篇文章同一天創建的密鑰列出的“sig 3”簽名(我檢查了伺服器上您的個人資料中的網域),它應該沒問題,並且不太可能是密鑰伺服器實際新增或複製現有簽章。

它更有可能指示在產生後對金鑰進行的任何變更(例如,變更密碼優先順序、新增或刪除密碼和摘要、新增或撤銷子金鑰、新增或撤銷 UID 等)。當對金鑰進行這樣的更改時(包括產生金鑰時),該資料將由認證金鑰簽署(可選地具有特定的信任級別,儘管某些資料必須在級別3 處進行自簽名(「sig 3 ”)發生這種情況時,金鑰上的每個 UID 都會收到另一個“自簽名”,您可以透過 pgpdump 或 gpg --list-packets 運行金鑰來查看完整的詳細資訊。

如果您使用pgpdump 並將輸出透過管道傳輸到文字文件,您可以透過從底部開始並向上和向前移動來按時間順序讀取對密鑰的每個更改(通常,有時事情似乎被保存在不適當的位置,或更正常的自上而下) ,但由於所有更改都帶有時間戳,因此應該很容易計算出來)。若要將輸出限制為僅您所做的更改,您可以使用以下命令匯出最小或乾淨版本的金鑰:

# Normal export:
gpg -o mykey.gpg --export 0xDEADBEEF
gpg -o mykey.asc -a --export 0xDEADBEEF
#
# Clean export:
gpg -o mykey.gpg --export --export-options export-clean 0xDEADBEEF
gpg -o mykey.asc -a --export --export-options export-clean 0xDEADBEEF
#
# Minimal export (smallest):
gpg -o mykey.gpg --export --export-options export-minimal 0xDEADBEEF
gpg -o mykey.asc -a --export --export-options export-minimal 0xDEADBEEF

我建議使用最後一個(帶有 .gpg 擴展名,因為如果您確實願意,您也可以將它們用作單獨的密鑰環檔案)。

例如,隨著新資訊發現 3DES 和 CAST5 中的缺陷,我的金鑰包括密碼偏好更改了幾次。這些變更在 pgpdump 中清晰可見,但是當使用 --list-sigs 時,顯示的只是每個 UID 列出的簽名末尾的附加「sig 3」簽名。

我沒有仔細檢查你的密鑰,但這可能只是你在密鑰中保存了一些零錢或其他東西。

相關內容