ウェブサイト検索

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を検証する方法についての洞察を提供できたことを願っています。

関連記事: