概要
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]