回答:
GPG(GNU Privacy Guard)は、暗号化ソフトウェアのスイートです。データと通信を暗号化または署名して、その信頼性を確保するために使用できます。
このタイプの暗号化は、鍵ペアに基づいています。公開鍵は鍵サーバー(keyserver.ubuntu.comなど)でホストされ、秘密鍵は秘密にされます。公開鍵を使用して、秘密鍵によって作成された署名を検証できます。同様に、誰かの公開鍵を知っていると、対応する秘密鍵の所有者しか読めないメッセージを暗号化できます。
参考資料:GnuPG for Daily Use(Mini How-To ...)
このコンテキストでは、パッケージのダウンロード元のaptリポジトリに秘密鍵で署名する必要があります。これにより、インストールしているパッケージが本来の場所からのものであることを確認できます。
署名されているリポジトリ内の実際のファイルはRelease
ファイルです。このファイルには、リポジトリ内の他の多くのファイルのチェックサムが含まれています。たとえば、公式のUbuntu 12.10リポジトリとそれに対応するGPG署名のファイルは次のとおりです。パッケージをインストールするときに、署名を検証します。apt
参考資料:安全なaptに関するすべて
公式のUbuntuアーカイブの公開鍵は既にコンピューターで認識されていますが、PPAまたはサードパーティのリポジトリを追加する場合は、それらの鍵をインポートする必要があります。キーを持たないリポジトリを更新しようとすると、次のような警告が表示されます。
W: GPG error: http://ppa.launchpad.net oneiric Release: The following signatures
couldn't be verified because the public key is not available: NO_PUBKEY B725097B3ACC3965
そのリポジトリからパッケージをインストールすると、警告も表示されます:
WARNING: The following packages cannot be authenticated!
dropbox
Install these packages without verification [y/N]?
これらの警告はapt
、--allow-unauthenticated
フラグを指定して実行することで抑制できますが、追加されたセキュリティを利用できるように、システムにキーを追加することをお勧めします。
PPAを追加する場合はadd-apt-repository
、このツールを使用する必要があります。これにより、キーの追加が自動的に処理されます。キーを手動で追加する必要がある場合は、次のコマンドを使用します。
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys KEY_ID_HERE
ターミナルを使用せずにこれを行う場合は、この回答を参照してください。