[View] [Edit] [Attachments] [History] [Home] [Changes] [Search] [Help]
GPG
GPG とは?
皆さんは秘密をお持ちですか? 僕は沢山持っています。色々なパスワードや
ライセンス情報。ここに書けないようなあんな事こんな事。こういった情報が全部
一緒くたにパソコンの中に入っています。このせちがらい世の中、秘密の情報をメールで
送ったり、他のパソコンと共有する時に、ファイルを暗号化しないといけません。
ここでは、コマンドラインから GPG を操作し、自分で自分のファイルを暗号化して復号する
最低限の手順を書きます。正しくない内容も含まれていると思いますので、慣れたらリンクを
参照に他の文章も確認してください。方針としては、
- コマンドラインを使う。原理が分かりやすく、どの機種でも使い方が一緒なので。
- PGP の方がメジャーだが、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 参照)
- 鍵ID を指定 : 234567C4 のような鍵ID を指定する (gpg --key-list で確認できます)
- 名前の一部を指定 : 名前もしくはメールアドレスの一部を書くと、マッチした鍵を探してくれます。
引っ越すには?
ここが大切な所。ここで作成した鍵とは今後長い付き合いになります。おそらくマシンの
寿命より鍵の寿命の方が長いでしょう。そうすると他のマシンで作った鍵を引っ越す必要があります。
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