さまざまなLinuxディストリビューションでは、gpgを使用してhttpからダウンロードした新しいソフトウェアパッケージなどを確認できます。しかし、パッケージを保持しているサーバーがハッキングされた場合はどうなりますか?いいですね。新しいgpgキーが必要です。しかし、新しいgpgキーが有効なgpgキーであることをどのように保証できますか?新しいgpgキーがクライアントにダウンロードされるまで有効なgpgキーがないため、[新しいgpgキーを含む]パッケージがgpgキーで「検証」されない場合は、ウィンドウが表示されます。 「権限ある」/安全な方法でクライアントに新しいGPGキーを提供する方法はありますか?
答え1
パッケージを保持しているサーバーのみが破損し、秘密署名キーが破損していない場合に取ることができる多くのアクションはありません。以前のキーはまだ有効であり、攻撃者が修正したパケットが検出されます。あなたの質問は、署名キーが破損した場合にどうなるかについてのようです。
古いキーが期限切れになっていない限り、人々はキーが破損していることを認識していないまま、古いパッケージをダウンロードし続けます。理想的には、パッケージ管理ツールはキーがキャンセルされたことを確認する必要があります(apt、yum、および友達がこれを実行しているかどうかわかりません)。ただし、破損を処理する最初のステップは、古いキーで署名されたパッケージの配布を停止し、新しいキーで署名されたパッケージの配布を開始することです。したがって、悪意を持って修正されたパッケージは更新されるまで画像にのみ残ります。
人々が新しいキーで署名されたパッケージを受け取り始めると、パッケージがまだ署名されていないというエラーメッセージが表示されます。その後、顧客が何が起こったのかを尋ね、新しいキーを取得しようとします。
今回の妥協案は、セキュリティメーリングリストや様々な業界ニュースチャンネルでも発表される予定です。したがって、それをフォローすると通知が届きます。もちろん、この点にも注意が必要です。攻撃者は listserv または開発者のアカウントを破損させ、実際には自分の秘密鍵である新しい公開鍵を使用して偽の鍵破損警告を送信する可能性があります。
新しい鍵の配布に魔法の弾丸はありません。まず、鍵を配布するか、より正確には新しい鍵の信頼を構築するには、信頼できるチャネルが必要です。これは、既存の鍵に対する信頼を構築するのと同じくらい困難です。 (つまり、ほとんどの人はHTTPウェブサイトまたは署名されていないCDイメージからこれを取得します)。 。または、鍵を持っている人を知って信頼する場合は、その人に鍵を求めることができます。
上記では、配布署名キーを使用してパッケージが直接署名される単純なモデルを想定して、緩い意味で「パッケージ」を使用しました。実際、一部のディストリビューション(APTを使用するすべてのディストリビューションなど)で署名されているのは、パッケージの暗号化チェックサムリストを含むファイルであり、インストーラがパッケージに予想されるチェックサムがあるかどうかを確認する2段階のプロセスがあります。 、リストに期待される署名があります。原則は同じです。鍵を漏洩した攻撃者は悪意のあるパッケージを挿入し、漏洩した鍵を使用して署名された悪意のあるパッケージのチェックサムを含むファイルを一覧表示します。このソリューションを使用するには、リストファイルとパッケージを回復する必要があります。
答え2
新しい「特権」キーを提供する標準プロセスは、古いキーで署名されたパッケージを介して行われます。古いキーを信頼してGPGを信頼すると、新しいキーは古いキーで署名されたパッケージに配布されます。これで新しい製品が利用可能になりました。
各パッケージの署名が正しいことを確認するため、これらのパッケージは安全でないサーバーに保存できます。
パッケージング秘密鍵が破損している場合にのみ問題が発生します。これはすべてのパッケージに署名するマスターキーです。 (Debian SecureApt、Ubuntu SecureApt、Fedoraの帽子)。一度そのようなことが起きたら醜いだろう。