Gpg

如何在 OpenGPG 智能卡上導入密鑰(從一台機器/作業系統複製到另一台機器)?

  • October 9, 2020

我執行了幾台 PC,它們都可以多次啟動到多個作業系統(分別為 Win10/Linux{Devuan}/FreeBSD 和 Win10/Linux{Devuan})。我使用 Thunderbird + Enigmail(目前堅持使用前者的 68.x 版,因為 78.x 中的集成 OpenGPG 支持尚不支持 SmartCard,據我了解)。

我已經註意到如何導入秘密 gpg 密鑰(從一台機器複製到另一台機器)?但我不確定當密鑰保存在智能卡中時它是否可以工作,例如我的 OpenGPG(版本 3.3)。

我知道一個問題是密鑰本身通常應該在卡的硬體中生成並僅儲存在卡本身上,安全性的一個基本部分是它們不能該卡中提取。

我也知道解決這個問題的方法是在有氣隙的 PC 上進行生成,理想情況下從從只讀材料 (CD/DVD) 引導的作業系統執行,並以安全的方式導出和保存完整的秘密主並且分開秘密子密鑰和公鑰。然後,在第一台機器/作業系統上,只需要重新導入這三個中的後兩個,然後使用該keytocard功能將秘密子密鑰傳輸到卡(這是單向旅行!),留下特殊存根上面寫著“是的secring.gpg,我們有這些密鑰,但它們儲存在卡上”。

我是否需要重複“僅導入密鑰子密鑰,然後用於在每個後續機器/作業系統上keytocard生成密鑰存根”以獲取每台機器上的密鑰環以了解該機器/我們在智能卡上擁有所有者密鑰的作業系統;或者是否有一種捷徑(也許secring.gpg通過sneakernet 將使用者的安全從第一台機器/作業系統複製到其他機器)應該有效?

好吧,如果我理解正確,您有兩個不同的問題。

  1. 如果您直接在卡上生成密鑰,您將無法備份它們。另一方面,如果您在有氣隙的 PC 上生成密鑰並將其複製到外部媒體,那麼您始終可以檢索它們並將它們寫入新的智能卡
  2. 為了在另一台電腦上使用您的智能卡,您基本上需要兩件事,前提是您有正確配置的讀卡器:
  • 將公鑰導入您的密鑰環
  • 將智能卡插入讀卡器,然後執行gpg2 --card-status以創建存根,即給定 GPG 密鑰的卡指針

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