Linux上でダウンロードしたソフトウェアのPGP署名を検証する方法
Pgpは、Pretty Good Privacyの略で、公開鍵暗号ソフトウェアです。 PGPは、データ通信の暗号化と署名に使用できます。 このチュートリアルでは、ダウンロードしたソフトウェアのPGP署名を確認する方法を見ていきます。
Linuxユーザは、ディストリビューションのリポジトリからソフトウェアを安全にインストールできます。 しかし、ウェブサイトからソフトウェアをダウンロードしてインストールする必要がある場合もあります。 ダウンロードしたソフトウェアが改ざんされていないことをどのように確認できますか?
一部のソフトウェア作者は、openPGP標準のフリーソフトウェア実装であるGPGなどのPGPプログラムを使用してソフトウェアに署名しています。 その場合、GPGを使用してソフトウェアの整合性を検証できます。
プロセスは比較的簡単です:
- ソフトウェア作成者の公開キーをダウンロードします。
- 公開鍵の指紋を確認して、正しい鍵であることを確認してください。
- 正しい公開鍵をGPG公開鍵リングにインポートします。
- ソフトウェアの署名ファイルをダウンロードします。
- 公開鍵を使用してPGP署名を検証します。 署名が正しい場合、ソフトウェアは改ざんされていませんでした。
ダウンロードしたソフトウェアのPGP署名を検証する方法を示すためにVeraCryptを例として使用します。
例:VeraCryptのPGP署名を確認
VeraCryptはオープンソースソフトウェアですが、Ubuntuや他のLinuxディストリビューションのリポジトリには含まれていません。 VeraCrypt Linuxインストーラは公式サイトからダウンロードできます。
または、以下のコマンドを使用してVeraCryptインストーラをターミナルでダウンロードすることもできます。VeraCryptのダウンロードページには、Pgp公開鍵とpgp署名のダウンロードリンクもあります。 これら2つのファイルをダウンロードします。 または、以下のコマンドを使用してターミナルでダウンロードすることもできます。
PGP公開鍵
wget https://www.idrix.fr/VeraCrypt/VeraCrypt_PGP_public_key.asc
PGP署名ファイル
wget https://launchpad.net/veracrypt/trunk/1.19/+download/veracrypt-1.19-setup.tar.bz2.sig
公開鍵で何かをする前に、常に鍵の指紋をチェックして正しい鍵であるかどうかを確認する必要があります。 以下のコマンドを使用して、キーの指紋を表示します。
gpg --with-fingerprint VeraCrypt_PGP_public_key.asc
出力の2行目はキーの指紋です。
VeraCrypt webサイトで公開されている指紋と比較します。Veracrypt公開鍵指紋
ご覧のとおり、2つの指紋は同一であり、公開鍵が正しいことを意味します。 したがって、公開鍵を公開鍵リングにインポートすることができます:
gpg --import VeraCrypt_PGP_public_key.asc
以下のコマンドを使用して署名を確認します。 署名ファイルとソフトウェアインストーラを指定する必要がありますが、その名前は通常同じで、ファイル拡張子が異なるだけです。 これは分離された署名であり、署名とソフトウェアが互いに分離されていることを意味します。
gpg --verify veracrypt-1.19-setup.tar.bz2.sig veracrypt-1.19-setup.tar.bz2
出力には”Good Signature”と表示されます。
署名は、ソフトウェア作成者の秘密鍵で暗号化されたハッシュ値です。 GPGは公開鍵を使用してハッシュ値を復号化し、VeraCryptインストーラのハッシュ値を計算し、両者を比較します。 これらの2つのハッシュ値が一致する場合、署名は良好であり、ソフトウェアは改ざんされていませんでした。
GPGが不正な署名であると通知した場合、ソフトウェアインストーラが改ざんされたか破損しています。
信頼できるソースからの公開鍵のインポート
ソフトウェアの作成者がwebサイト上の公開鍵IDを伝えた場合、次のようにして公開鍵をインポートでき:
gpg --recv-keys <key-ID>
それから指紋をとの表示して下さい:
gpg --fingerprint <key-ID>
そして、ウェブサイト上で公開されたものと出力から指紋を比較します。 これは、公開鍵が公開鍵サーバーからインポートされ、デフォルトでは~/.gnupg/gpg.conf
ファイルのhkp://keys.gnupg.net
に設定されているため、より安全です。 すべての主要なキーサーバーは互いに通信してキーを同期するので、デフォルトを変更する必要はありません。
それだ!
このチュートリアルでは、ソフトウェアのダウンロードのPGP署名を検証するのに役立つことを願っています。 いつものように、あなたはこの記事が有用であることが判明した場合は、私たちの無料のニュースレターを購読するか、Google+、Twitterや私たちのFacebookページのように私た