web-dev-qa-db-ja.com

GPG署名とは

THISTHIS 、および THIS のような質問を見ると、次の質問について一般の知識を求めます。

  1. GPG署名の目的は何ですか?

  2. 署名によってユーザーに追加または提供されるセキュリティの追加レベルは何ですか?

  3. LaunchpadのPPAを使用したGPG署名に関連する一般的な問題にはどのようなものがあり、それらが生成されるのはなぜですか?

10
Luis Alvarado

GPGとは何ですか?

GPG、または GNU Privacy Guard は、暗号化ソフトウェアのスイートです。データおよび通信の暗号化または署名に使用して、信頼性を確保できます。

このタイプの暗号化は、キーペアに基づいています。公開鍵は鍵サーバー(keyserver.ubuntu.comなど)でホストされ、秘密鍵は秘密にされます。公開鍵を使用して、秘密鍵によって作成された署名を検証できます。同様に、誰かの公開鍵を知ることで、対応する秘密鍵の所有者のみが読み取れるメッセージを暗号化できます。

さらに読む: GnuPG for Daily Use(a 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]?

これらの警告は、--allow-unauthenticatedフラグを指定してaptを実行することで沈黙させることができますが、追加されたセキュリティを利用できるようにシステムにキーを追加することをお勧めします。

PPAを追加する場合、add-apt-repositoryツールを使用する必要があります。これにより、キーの追加が自動的に処理されます。キーを手動で追加する必要がある場合は、次のコマンドを使用します。

Sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys KEY_ID_HERE

ターミナルを使用せずにこれを行う場合は、 この回答を参照してください

8
andrewsomething