[View] [Edit] [Attachments] [History] [Home] [Changes] [Search] [Help]

GPG

GPG とは?

皆さんは秘密をお持ちですか? 僕は沢山持っています。色々なパスワードや
ライセンス情報。ここに書けないようなあんな事こんな事。こういった情報が全部
一緒くたにパソコンの中に入っています。このせちがらい世の中、秘密の情報をメールで
送ったり、他のパソコンと共有する時に、ファイルを暗号化しないといけません。

ここでは、コマンドラインから GPG を操作し、自分で自分のファイルを暗号化して復号する
最低限の手順を書きます。正しくない内容も含まれていると思いますので、慣れたらリンクを
参照に他の文章も確認してください。方針としては、

必要になる知識は
になります。GUI 版も余裕が出来たら書きます。

準備

cygwin (Windows) の場合、インストーラで普通にインストールできます。他のプラットホーム
でも、しかるべき手順で簡単にインストール出来ると思います。

始めて使う方は、鍵ペアを生成する必要があります。パスワードを設定する儀式のような物です。
gpg --gen-key

この際に聞かれる事はこんな感じ、まあ、デフォルトでリタンリターンすれば良いです。
Your selection? 色々な暗号化形式
What keysize do you want? (1024) キーの長さ
Key is valid for? (0) 有効期限どうする?
Is this correct (y/n)? これで良い?
Real name: あなたの名前 (例 YAMAMIYA Takasi)
Email address: あなたのメールアドレス (例 propella@languagegame.org)
Comment: コメント
Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? 良ければ O を押す。
Enter passphrase: パスフレーズ(パスワード)を適当に入力
Repeat passphrase: もう一度


さて、~/.gnupg を見てみましょう。生成されたファイルの中で、
secring.gpg 秘密鍵リング
pubring.gpg 公開鍵リング
にそれぞれの鍵がバイナリ形式で保存されています。(その他は man pgp 参照)

暗号化するには?

gpg -r 受取人 -e ファイル名

で受取人だけが復号できるファイルが作成できます。自分で読むだけなら受取人には自分を
指定すればよいです。受取人の欄は、下の「鍵の指定」を参照してください。

復号するには?

gpg ファイル名


鍵の指定

受取人(の鍵)を指定する時に使える方法は以下の通りです。
(詳しくは man gpg の How to specify a user ID 参照)

引っ越すには?

ここが大切な所。ここで作成した鍵とは今後長い付き合いになります。おそらくマシンの
寿命より鍵の寿命の方が長いでしょう。そうすると他のマシンで作った鍵を引っ越す必要があります。

gpg --import ファイル名

ファイル名は、今まで使っていた secring.gpg や pubring.gpg、secring.skr (PGP の場合)
なんとか.asc (エキスポートされたファイル) など、色々使えます。ファイルによって
GPG が適当に考えて正しい場所に保存してくれるみたいです。

鍵の管理

色々実験していると、不要な鍵がどんどん出来ると思います。そんな時に便利なオプション

gpg --list-keys # 持っている公開鍵をリストアップ
gpg --list-secret-keys # 持っている秘密鍵をリストアップ
gpg --delete-secret-and-public-key 鍵ID # マッチする秘密鍵と公開鍵を削除

リンク

http://www.gnupg.org/ 本家
http://hp.vector.co.jp/authors/VA019487/ GNU Privacy Guard 講座
http://tomo.no-ip.com/goodstream/mail/beckey/gnupgv2.html

propella home