Linux上でダウンロードしたソフトウェアのPGP署名を確認する方法
Linuxシステムにソフトウェアをインストールする際は、通常はスムーズに進みます。ほとんどの場合、apt、dnf、またはPacmanのようなパッケージマネージャーを使って、ディストリビューションのリポジトリから安全にインストールします。
しかし、場合によっては、ソフトウェアパッケージが配布の公式リポジトリに含まれていないことがあります。そのようなシナリオでは、ベンダーのウェブサイトからダウンロードせざるを得ません。しかし、そのソフトウェアパッケージが改ざんされていないと確信できるでしょうか?これが我々が答えを探求する質問です。このガイドでは、LinuxでダウンロードしたソフトウェアパッケージのPGP署名を検証する方法に焦点を当てます。
PGP(Pretty Good Privacy)は、ファイルを暗号化し署名するための暗号化アプリケーションです。ほとんどのソフトウェアの著者は、たとえばGPG(GNU Privacy Guard)のようなPGPプログラムを使用して自分のアプリケーションに署名します。
GPGはOpenPGPの暗号化実装であり、データの安全な送信を可能にし、ソースの整合性を確認するためにも使用できます。同様に、GPGを利用してダウンロードしたソフトウェアの真偽を確認することができます。
ダウンロードしたソフトウェアの整合性の検証は、以下の順序に従って行う5ステップの手順です。
- ソフトウェアの作者の公開鍵をダウンロードしています。
- 鍵の指紋を確認しています。
- 公開鍵をインポートしています。
- ソフトウェアの署名ファイルをダウンロードしています。
- 署名ファイルを確認してください。
このガイドでは、ピアツーピアファイル共有プログラムのTixatiを例として使用して、これを説明します。すでに、公式ダウンロードページからDebianパッケージをダウンロードしました。
TixatiのPGP署名を確認してください
まず最初に、リリースの検証に使用される著者の公開鍵をダウンロードします。鍵へのリンクはTixatiダウンロードページの下部に記載されています。
コマンドラインで、次のようにwgetコマンドを使用して公開鍵を取得します。
$ wget https://www.tixati.com/tixati.key
公開鍵のフィンガープリントを確認してください
キーがダウンロードされたら、次のステップはgpgコマンドを使用して公開鍵のフィンガープリントを確認することです。
$ gpg --show-keys tixati.key
強調表示された出力は公開鍵のフィンガープリントです。
GPGキーをインポートする
鍵の公開フィンガープリントを確認したら、GPG鍵をインポートします。これは一度だけ行う必要があります。
$ gpg --import tixati.key
ソフトウェアの署名ファイルをダウンロードする
次に、示されたように、Debianパッケージの隣にあるPGP署名ファイルをダウンロードします。署名ファイルは.ascファイル拡張子を持っています。
$ wget https://download2.tixati.com/download/tixati_2.84-1_amd64.deb.asc
署名ファイルを確認してください
最後に、署名ファイルと示されているDebianパッケージを使ってソフトウェアの完全性を確認してください。
$ gpg --verify tixati_2.84-1_amd64.deb.asc tixati_2.84-1_amd64.deb
三行目の出力は、Signature がソフトウェアの著者、つまりTixati Software Incからのものであることを確認しています。上の行は、公開鍵のフィンガープリントと一致するフィンガープリントを提供します。これは、ソフトウェアのPGP署名の確認です。
このガイドが、LinuxでダウンロードしたソフトウェアパッケージのPGPを検証する方法についての洞察を提供できたことを願っています。





