私が誰かの鍵に署名し、後でそれが悪いアイデアであると判断したとしましょう -それはまったく悪いアイデアであったか、または異なるレベルの信頼で署名する必要がありました。理論的にも実用的にも、誰かの鍵に「署名を解除」することは可能ですか?
署名がローカルにのみ保持されている場合(誰にもキーサーバーに署名を送信しないか、アップロードできない署名を作成するlsign
を実行した場合でも)、次のコマンドを実行して実際に削除できます。
gpg --edit-key [keyid]
[select a uid]
delsig
[go through the assistant for deleting signatures]
save
署名がすでにキーサーバーに送信されている場合でも、ローカルで削除できますが、キーサーバーから何も削除することはできません。 OpenPGPキーサーバーインフラストラクチャは、何も削除/忘れないように設計されており、削除攻撃(攻撃者がyour keyなど)を削除したい場合に備えています。
署名を削除する代わりに、今では取り消しです。今回は走る
gpg --edit-key [keyid]
revsig
[go through the assistant for revoking signatures]
save
次に、gpg --send-key [key-id]
を実行して、失効証明書(「この証明書は、指定された理由により、指定された日付から開始して作成した署名を無効にします」)をキーサーバーにアップロードします。
キーサーバー全体(数分)で失効が同期され、他のユーザーがキー[keyid]
(不明な時間、場合によってはかなり長い時間)を更新するとすぐに、失効した署名は有効性の計算時に考慮されなくなります署名を一覧表示すると、失効したものとして表示されます。
署名を解除することはできませんが、彼らの鍵の署名を取り消すことができます。誰かが元の署名と失効の両方を同期すると、UIに両方が表示され、信頼の計算で署名が使用されなくなります。 GnuPGでこれを行うには:
gpg --edit-key KEYID
revsig
<Supply a reason>
gpg --send-key KEYID # Upload key to keyserver, or
gpg --armor --export KEYID # Manual upload to keyserver