使用 gpg subkey 讓 金鑰管理 更加便利
對於 master key pair , 必須安全地保管; 因為一旦遺失,取得的人就有可能使用你在網路上的身份, 你唯一能做的就是 使用撤銷憑證。 而一旦你這麼做,你先前所建立的信用,就必須重頭來過。
所以你必須要非常安全地保護好你的 private master key 。
gpg 子密鑰 讓保護 private master key 變得容易許多, 你不再需要保護每一個 private master key pair (這是相當繁瑣的一件事情)。
在一開始初始化 gpg 金鑰對時, 如果你選擇 ( (1) DSA and Elgamal (default) ) 就已經自動建立了 一個 encryption subkey , 一個 signing subky 。
在上傳金鑰到金鑰伺服器的步驟中, 上傳 subkey 讓其他使用者使用子鑰加密或是驗證你的數字簽名。 而你在解密或做數字簽名時,同樣也是使用 subkey。
在日常的使用中,需要用到 master private key 的場合不多, 因此先建立好 (一個或更多) 子密鑰 後 (建立子密鑰需要 master private key) ,只需要好好地 保護好 master private key (例如這時候你就可以把 master private key 備份到一個安全的地方,並且在備份好後,就移除掉 master private key,日後再需要使用的時候,在匯入就好)。
如果在你使用的電腦上只有 subkey 而沒有 master private key , 這樣一來,即使電腦失竊了, 你只需要拿來當初保管好的 master private key 對子密鑰 進行 撤銷憑證, 再重新建立子密鑰,並上傳至金鑰伺服器。
subkey 的建立,撤銷,不會影響到 master key 所建立出來的身份的名聲/信用
Reference
Using OpenPGP subkeys in Debian development
Creating a new GPG key with subkeys
Creating the perfect GPG keypair
如何保護你的 gpg 金鑰,特別當你使用筆電(容易失竊或遺失)。
當你的 gpg 密鑰跟著你的筆電失竊 竊賊不僅可以讀取傳送給你的加密訊息 也能在網路上 假冒成你的身份 讓人無從區別
這時候唯一的方法就只能 使用撤銷憑證
See Also
- gpg 最佳實踐
- OpenPGP Best Practices