ホーム > 環境・ユーティリティ > gpg

gpg: OpenPGP暗号化および署名ツール

gpg (GNU Privacy Guard) は、OpenPGP標準を実装した暗号化ツールです。ファイルの暗号化・復号、デジタル署名の生成・検証に使用されます。このツールは、通信のセキュリティとデータの整合性を保証するために不可欠です。

概要

gpgは公開鍵暗号方式を使用してデータを保護します。秘密鍵と公開鍵のペアを生成・管理し、これによりファイルやメールなどの内容を安全に送受信できます。強力な暗号化アルゴリズムをサポートし、様々なオペレーティングシステムで使用可能です。

主な機能

  • 公開/秘密鍵ペアの生成と管理
  • ファイルおよびメッセージの暗号化/復号
  • デジタル署名の生成と検証
  • 鍵サーバーを通じた公開鍵の共有

主なオプション

gpgコマンドは、様々なタスクを実行するための多くのオプションを提供します。以下は、よく使用される主なオプションです。

鍵管理

暗号化と復号

署名と検証

生成されたコマンド:

コマンドを組み合わせてみてください。

説明:

`gpg` コマンドを実行します。

これらのオプションを組み合わせて、AIと一緒に仮想的にコマンドを実行してみてください。

使用例

gpgを使用して鍵を生成し、ファイルを暗号化・復号し、署名を生成・検証する一般的な例をいくつか示します。

新しい鍵ペアの生成

gpg --gen-key

対話形式のプロンプトに従って、鍵の種類、サイズ、有効期限、ユーザー名、メールアドレスなどを設定します。

公開鍵リストの表示

gpg --list-keys

現在のキーリングに保存されているすべての公開鍵情報を確認します。

ファイル暗号化 (受信者指定)

gpg --encrypt --recipient Alice secret.txt

指定された受信者 (例: 'Alice') の公開鍵を使用して 'secret.txt' ファイルを暗号化します。結果は 'secret.txt.gpg' ファイルとして生成されます。

ファイル復号

gpg --decrypt secret.txt.gpg

暗号化された 'secret.txt.gpg' ファイルを復号します。秘密鍵のパスワードが必要で、結果は標準出力に出力されます。 `--output` オプションでファイルに保存できます。

ファイルにデジタル署名を追加

gpg --sign document.txt

'document.txt' ファイルに署名を追加します。署名されたファイルは 'document.txt.gpg' として生成されます。

署名されたファイルの検証

gpg --verify document.txt.gpg

'document.txt.gpg' ファイルの署名を検証します。署名者の公開鍵がキーリングに存在する必要があります。

公開鍵のエクスポート (ASCII Armor)

gpg --export --armor Alice > alice_pubkey.asc

ユーザーID 'Alice' の公開鍵をASCII Armor形式でエクスポートし、'alice_pubkey.asc' ファイルに保存します。

インストール

gpgはほとんどのLinuxディストリビューションにデフォルトでインストールされているか、標準リポジトリから簡単にインストールできます。以下は、主要なディストリビューションごとのインストールコマンドです。

Debian/Ubuntu

sudo apt update && sudo apt install gnupg

APTパッケージマネージャーを使用してgpgをインストールします。

RHEL/CentOS/Fedora

sudo dnf install gnupg

YUMまたはDNFパッケージマネージャーを使用してgpgをインストールします。

Arch Linux

sudo pacman -S gnupg

Pacmanパッケージマネージャーを使用してgpgをインストールします。

ヒントと注意点

gpgを安全かつ効率的に使用するためのヒントと注意点です。鍵の管理とパスワードのセキュリティに特に注意が必要です。

安全なパスワードの使用

鍵生成時には、強力で覚えやすいパスワード(passphrase)を使用してください。パスワードは秘密鍵を保護する重要な要素です。

  • 強力なパスワード: 最低12文字以上、大文字・小文字、数字、特殊文字の組み合わせ

秘密鍵のバックアップ

秘密鍵は非常に重要なので、安全なオフラインストレージ(例:USBドライブ、暗号化された外付けハードディスク)にバックアップしておくことをお勧めします。鍵を紛失すると、暗号化されたデータを復旧できなくなります。

  • バックアップ方法: gpg --export-secret-keys --armor [USER_ID] > private_key.asc

鍵失効証明書の生成

鍵を生成した直後に、鍵失効証明書(revocation certificate)を生成して安全に保管してください。鍵が破損または紛失した場合に、その鍵を無効化するために使用されます。

  • 失効証明書の生成: gpg --gen-revoke [USER_ID]

鍵サーバーの活用

公開鍵を鍵サーバーにアップロードすることで、他の人が簡単に見つけて使用できるようにすることができます。これにより、公開鍵の交換が容易になります。

  • 鍵サーバーへのアップロード: gpg --send-keys [USER_ID]

同じカテゴリのコマンド