web-dev-qa-db-ja.com

紛失したGPG公開鍵を復元する

古いコンピューターに保存したGPGキーでGitコミットに署名します。このキーを紛失したため、コミットに署名するための新しいキーを作成しました。妥協はしていないので、取り消すつもりはありません。

ただし、誤って自分の公開鍵も削除してしまったため(GitHubを使用)、過去のすべてのコミットが未検証として表示されるようになりました。過去のコミットから何らかの方法で公開鍵を復元して、GitHubに再度信頼するように指示することは可能ですか?

6
Zak

公開鍵の回復オプション

オプションは限られています。

  1. キーリングがあれば、キーリングのバックアップからキーを回復できます。
  2. あなたまたは他の誰かがあなたのキーをそこにアップロードした場合、あなたはキーサーバーから公開キーを回復することができます。
  3. あなたのプロジェクトの他の人にあなたの公開鍵のコピーを頼むことができます。彼らはあなたのコミットを確認するために必要でした。
  4. GitHubに公開鍵を含むバックアップがあり、それを取得する用意があるかどうかを確認できます。

それだけです。キーを紛失した場合は、バックアップとコピーを含めて、完全に紛失したものとして扱う必要があります。実用的には、Gitの観点からは次のことができます。

  • リポジトリのローカルコピーまたはアーカイブされたコピーに対してGit履歴を検証して、その信頼性を確認し、すべてのコミットに新しいキーで署名します(必要な場合はそうではありません)。
  • ソースに対して検証したら、現在のコミットに署名し、今後は新しいキーを使用します。

将来は...

公開鍵または秘密鍵を再作成するのに十分な鍵素材は、通常、署名からのみ回復することができないため、将来的には次のことを確認してください。

  1. 定期的なバックアップを作成します。
  2. Paperkeyやssssなどのツール、または選択したその他の回復メカニズムを使用して、必須キーをエスクローします。
  3. 公開鍵が信頼できる公開鍵サーバーにアップロードされ、検証のために他の人によって署名されていることを確認してください。
  4. 公開鍵をソース管理下に保管します。プロジェクトに適切な場合は、ソースツリー内に保管することもできます。
  5. キーを紛失した場合に備えて、失効証明書を手元に用意してください。

基本的には、公開鍵と失効証明書が必要に応じて回復可能であり、鍵自体以外の他の鍵によって信頼できることを確認する手順を実行します。

5
Todd A. Jacobs