はじめに
こんにちは!今回はgpgコマンドについて解説します。
gpgは、ファイルやテキストを暗号化・署名するコマンドです。GnuPGの略で、セキュアなファイル送受信やデータ保護に欠かせません。機密情報を扱うサーバー管理者や、セキュアな通信が必要な現場で毎日使われるコマンドですね。
「ファイルの鍵をかける機」って感じです。
gpgコマンドとは
gpgは、公開鍵暗号を使ってファイルやテキストを暗号化・署名するコマンドです。“GNU Privacy Guard"の略ですね。
パスワードとは異なり、公開鍵と秘密鍵のペアを使います。公開鍵は誰にでも配布でき、秘密鍵は自分だけが持つ。これで、信頼できる人だけがファイルを復号化できたり、ファイルが改ざんされていないことを確認できたりします。情報セキュリティの基本中の基本ですね。
基本構文
|
|
様々なオプションで暗号化、復号化、署名操作を行います。
主なオプション
| オプション | 説明 |
|---|---|
-c |
対称鍵で暗号化(パスワード暗号化) |
-d |
ファイルを復号化 |
--encrypt |
公開鍵で暗号化 |
--decrypt |
ファイルを復号化 |
--sign |
ファイルに署名 |
--verify |
署名を検証 |
-r |
受信者の公開鍵を指定 |
--list-keys |
公開鍵一覧を表示 |
--gen-key |
鍵ペアを生成 |
-a |
ASCII形式で出力 |
-o |
出力ファイルを指定 |
使用例
例1: 対称鍵で暗号化(パスワード暗号化)
|
|
実行結果:
|
|
-cでパスワード暗号化。document.txt.gpgが作成される。
例2: 暗号化ファイルを復号化
|
|
実行結果:
|
|
-dで復号化。パスワード入力が必要。
例3: 復号化してファイルに保存
|
|
実行結果:
|
|
-oで出力先を指定。
例4: 鍵ペアを生成
|
|
実行結果:
|
|
対話的に鍵ペアを生成。数分かかることもある。
例5: 公開鍵一覧を表示
|
|
実行結果:
|
|
保持している公開鍵を一覧表示。
例6: 秘密鍵一覧を表示
|
|
実行結果:
|
|
秘密鍵一覧を表示。自分の鍵のみ表示。
例7: ファイルに署名
|
|
実行結果:
|
|
document.txt.gpgが作成。署名付きファイル。
例8: クリアテキスト署名(テキスト化)
|
|
実行結果:
|
|
署名付きでありながら、元のテキストが読める形式。
例9: 公開鍵をASCII形式でエクスポート
|
|
実行結果:
|
|
他者に配布する公開鍵をテキスト形式でエクスポート。
例10: 署名を検証
|
|
実行結果:
|
|
署名が有効か確認。改ざんされていない証拠。
Tips・注意点
パスワード暗号化の安全性
|
|
公開鍵暗号化の方が、複数の受信者に安全に送信できる。
鍵の定期的なバックアップ
|
|
秘密鍵を失うと、復号化不可になるため、バックアップは必須。
信頼の輪(Web of Trust)
|
|
公開鍵の信頼度を管理。本当に本人の鍵か確認することが重要。
実践的な使い方
機密ファイルの安全な転送
|
|
公開鍵がある場合、その鍵で暗号化。相手だけが復号化可能。
設定ファイルの暗号化バックアップ
|
|
重要な設定ファイルをパスワード保護。
ソースコードへの署名
|
|
リリース情報に署名。改ざん防止とトレーサビリティ確保。
まとめ
gpgコマンドのポイント:
- ファイルやテキストを暗号化・署名
- -c: パスワード暗号化(シンプル)
- –encrypt: 公開鍵暗号化(複数受取人対応)
- –decrypt/-d: ファイル復号化
- –sign: ファイルに署名
- –verify: 署名検証
- –gen-key: 鍵ペア生成
- –list-keys: 公開鍵一覧
- よく使う組み合わせ:
gpg -c,gpg -d,gpg --encrypt -r
情報セキュリティの基本。データ保護と本人確認が同時にできる強力なツールです。覚えておいて損はありませんよ!