回答:
OpenPGPキーは単一のオブジェクトではなく、OpenPGPパケットのストリーム全体で構成されています。たとえば、公開キーメッセージは、(特に)プライマリ公開キーパケット、サブキーパケット、ユーザーIDパケット、さまざまな種類の署名で構成され、一部は他のOpenPGPユーザーによる証明書を提供し、他はユーザーIDとサブキーをバインドします。鍵サーバーは常にこれらのパケットをマージし、何も削除しません。
私が求めたように、キーが更新される場合、誰かがそれをアップロードする場合、誰かが古い公開キーで新しい公開キーを上書きできますか?
別のユーザーIDを追加すると、別のパケットが追加されます(キーサーバーに送信されるとマージされます)。これには、「古い」バージョンのキーをアップロードする他のユーザーが新しく追加されたユーザーIDを削除しないことも含まれます。「不完全な」コピーをアップロードし、マージされます(そしておそらく何も変更しません)。
現在、IDを削除すると、キーサーバーは新しいバージョンの公開鍵に更新されますか、それとも新しいバージョンのIDが少ないため古いコピーを保持しますか?
一方、これは、古いユーザーIDを削除できないことも意味します。これは、キーサーバーが持つ「マージ」操作モードに適合しないためです。代わりに、あなたは取り消す古いユーザーID(およびOpenPGPのエンティティのすべての他の種類の)別のOpenPGPパケットとして追加特別失効署名になり、そして、あなたの公開鍵にマージ。
PGPキーサーバーからデータを「上書き」または削除することはできません。(GnuPGを使用してrevuid
)データを取り消してから、「失効署名」をキーサーバーにアップロードすることしかできません。
ただし、最新のキーサーバーは、メインキーで署名されたIDのみを受け入れます。これは、署名リストに表示される「[自己署名]」エントリです。誰かが簡単に偽のユーザーIDパケットを作成できる一方で、自己署名を偽造することはできません。