AUR にはインストールしようとすると次のようなエラーが発生するパッケージが多数あります。==> ERROR: One or more PGP signatures could not be verified!
これは、 のようにキーをインポートすることで解決されますgpg --recv-keys 123456789ABCDEF
。AUR のディスカッションでは、多くの場合キーが提供されます。
これについていくつか質問があります:
これらのキーは具体的に何をするのでしょうか? GPG で検証されているものは何ですか? また、なぜそれが必要なのですか?
なぜ手動でキーをインポートする必要があるのですか? なぜ自動化できないのですか?
AUR コメント スレッドからキーを盲目的にインポートすることが悪い場合、キーを「検証」するにはどのような手順を踏めばよいのでしょうか。
誰もコメントに投稿してくれず、コメントを投稿してメンテナーが返信してくれるのを期待する時間もない場合は、どこでキーを見つければいいのでしょうか?
ネットで検索してみると、よく知られているブログ投稿残念ながら、何度か注意深く読んでも、上記の点がまだ理解できません。
答え1
これらのキーは具体的に何をするのでしょうか? GPG で検証されているものは何ですか? また、なぜそれが必要なのですか?
キーは、ダウンロードするソフトウェアが、攻撃者が侵入した可能性のあるリポジトリ サーバーからのトロイの木馬型マルウェアではなく、パッケージの作成者が意図したとおりのものであることを確認するために使用されます。あるいは、攻撃者がダウンロード要求を本物の AUR リポジトリではなく、偽装したマルウェア リポジトリにリダイレクトする可能性もあります。GPG による検証により、攻撃者がソフトウェア リポジトリをマルウェア配布チャネルとして使用することが非常に困難になります。
なぜ手動でキーをインポートする必要があるのですか? なぜ自動化できないのですか?
特定のソフトウェア作成者/パッケージ作成者を信頼するかどうか、また、受け取ったキーが本物であり、偽者からのものではないと確信できるかどうかについては、意識的に選択する必要があります。
必要な信頼と確信のレベルは、何をするかによって異なります。娯楽用の個人宅システム、ビジネスで他人の健康情報やクレジットカード情報を扱うサーバー、国家ミサイル防衛システムの補助サポート サーバーでは、それぞれ要件が多少異なります。
AUR コメント スレッドからキーを盲目的にインポートすることが悪い場合、キーを「検証」するにはどのような手順を踏めばよいのでしょうか。
キーが、すでにキーを持っている他の人によって署名されており、少なくとも GPG キーの署名に関してはそれらの人の判断を信頼できる場合は、キーが本物である可能性が高いという証拠として受け取ることができます。そうでない場合は、複数の異なるソースからキーを取得して、結果を比較してみてください。それがあなたにとって十分に重要である場合は、正しいキーを持っているというより確実な確認を得るために、開発者に電話したり会ったりすることもできます。
誰もコメントに投稿してくれず、コメントを投稿してメンテナーが返信してくれるのを期待する時間もない場合は、どこでキーを見つければいいのでしょうか?
広く使用されることを目的とした GPG 公開鍵は、通常、SKS キー サーバーで公開されます。適切なキーがない場合は、パッケージ ツールで必要なキーのキー ID を表示でき、それを使用してキー サーバーでキーを検索できます。
SKS キーサーバー ネットワークの詳細については、こちらをご覧ください。https://sks-keyservers.net/
keyID を Google で検索することもできます。
答え2
TL;DR - 新しく強化され自動化された「ダウンロードの md5sum を Web サイトに掲載されているリストと照合する」
署名は、パッケージに署名した人物のデジタル検証であり、パッケージが作成後変更されていないことを保証します。通常、パッケージのメンテナーまたはリリース マネージャー、またはディストリビューションのコア プロジェクト メンテナンス グループの「権限」を持つ人物によって署名されます。本質的には、これはインストールしようとしているものの強化された自動整合性チェックです。新しい「ファイル リストの md5sum ハッシュを公開しました。ダウンロードしたものをこれと比較してください」。
仕組みは公開/秘密鍵です。パスワード (強力なもの) 付きの秘密鍵を作成し、それを使って公開鍵を生成します。公開鍵を配布できます。パッケージを生成して署名し、インストールすると、署名を検証するために ABC321FF などに一致する公開鍵が必要であることが通知されます。鍵をインポートすると、ユーザー側のソフトウェアは識別ハッシュが同じであること、およびハッシュが私の秘密鍵によって署名されたことを確認できます。
リポジトリからシステムにソフトウェアを追加する場合のセキュリティ上の懸念は、「このソフトウェアの背後にいるのは誰なのか - ああ、キーも」ということです。それがディストリビューションのキーである場合 (一部のリリースには独自のキーがあるか、キーが取り消されて新しいキーが作成されています)、それは問題ではありません。いずれにしても、そのディストリビューションからソフトウェアを実行していることになります。サード パーティのリポジトリ (Ubuntu やプロジェクト PPA など) にアクセスすると、それぞれのキーをインポートすることになり、これが懸念事項になる可能性があることに注意してください。
知っておくべきなのは、そのキーが、そのキーで署名された他のすべてのものに対して機能するようになることです。 心配性なレベルに応じて、必要に応じてキーを追加し、パッケージのインストールが完了したら、信頼できるキーのリストから削除することをお勧めします。 もちろん、頻繁に更新すると、更新の作業と手順が増えます。
そして、そのキー署名が何か厄介なものであることを心配しているのであれば、おそらくそのリポジトリから何かを意図的にインストールしようとすべきではありません。