最良の方法は何ですかGPGキーペアが期限切れになったら更新してください。このアプローチを使用する理由は何ですか?
このキーペアは多くのユーザーが署名しており、パブリックサーバーで使用できます。
新しいキーは、期限切れの秘密キーのサブキーでなければなりませんか?
以前の署名が必要ですか(キーを編集して有効期限を明日に変更できます)。
新しいキーは古いキーに署名する必要がありますか?
答え1
秘密鍵は期限切れになりません。公開鍵のみ可能です。そうでなければ、(希望的に)世界は秘密鍵を見ることができないので、世界は決して期限切れに気付かないでしょう。
重要な部分については1つの方法しかないので、長所と短所を議論する必要はありません。
マスターキーの有効期間を延長する必要があります。
gpg --edit-key 0x12345678
gpg> expire
...
gpg> save
お子様の有効期間を延長するか、それとも置き換えるかを決定する必要があります。これを交換すると、限られた前方セキュリティが提供されます(かなり長い期間のみ)。これが重要な場合は、暗号化と署名のための(別々の)サブキーが必要です(デフォルトは暗号化専用です)。
gpg --edit-key 0x12345678
gpg> key 1
gpg> expire
...
gpg> key 1
gpg> key 2
gpg> expire
...
gpg> save
key 1
一度に1つのキーの有効期間しか延長できないため、2回選択して選択解除する必要があります。
鍵が損傷していると信じる理由がない限り、有効期間を延長することを決定することもできます。オフラインマスターキーがある場合、違反時に証明書全体を破棄しないことが合理的です(私の考えでは、これがOpenPGPを使用する唯一の合理的な方法です)。
それにもかかわらず、証明書ユーザーは更新されたバージョン(新しいキー署名または新しいキー)を取得する必要があります。交換すると、キーが少し大きくなりますが問題になりません。
スマートカードを使用するか、そうする予定の場合は、より多くの(暗号化)キーがあると少し不便になる可能性があります(新しいキーを持つカードは古いデータを復号化できません)。
答え2
「Hauke Lining」の答えに加えて、gpgはオプションを提供します。2.1.22*将来的には、単一の非対話型コマンドを使用して、主キーまたはキャンセルされていない期限切れのサブキーを拡張できます。
これには3つの形式があります(最初のパラメータは常にキーフィンガープリントで、2番目のパラメータは常に有効期間(たとえば8w
8週間)です)。
- 2つのパラメータ:期間でキーを拡張する
- 3つのパラメータ(3番目はアスタリスク(
*
)):マスターキーのキャンセルされていない期限切れのサブキーをすべて期限切れにします。 - 3つ以上のパラメータ(3番目以上が特定のサブキーフィンガープリントの場合):マスターキーの指定されたサブキーが期限切れになります。
- フォームの例*
:
gpg --quick-set-expire <1> <2> <3>
重要性:
<1> キーの指紋 ( gpg --list-secret-keys
)
<2> 有効期限を延長する期間
<3>*
各サブキーについて、たとえば、次のようにします。
gpg --quick-set-expire 7BCDED693SECRETKEY1552ACB71237 7w \*
*--quick-set-expire
主キーバージョンでのみ利用可能2.1.17。
答え3
古いキーペアを新しいキーペアに置き換えることと、有効期限を変更すること、2つを混同しているようです。
デフォルトでは、新しいキーペアを生成する必要はありません。古いキーペアがまだ残っている場合は、有効期限を変更して更新されたキーを発行して、ライフサイクルを「延長」することができます。これは完全に正常で予想される現象です。
有効期限は、鍵を紛失した場合(パスワードを忘れた場合 - 鍵が破損していることを伝えるものではなく、その場合はすぐに鍵を取り消す必要がある場合)、鍵が他の場所に留まらないように処理されます。永遠に開いています。