■GnuPG
$ apt-cache show gnupg | grep -A 18 ^Desc
Description-ja: GNU Privacy Guard - フリーな PGP 代替品
GnuPG は通信とデータ保存を安全なものにする GNU ツールです。GnuPG はデータの暗号
化とデジタル署名の作成に使うことができます。GnuPG は先進的な鍵管理機能を
持ち、RFC 2440 で定めた提案中の OpenPGP インターネット標準に準拠します。
.
GnuPG 1.4 はスタンドアローンでモジュール化されていないシリーズです。gnupg2
パッケージが収録するバージョン 2 シリーズとは異なり、S/MIME のサポートや、
デスクトップ環境に便利な他のいくつかのツールが含まれませんが、そのため少な
い依存関係にもなっています。
.
本 gnupg パッケージは libcurl を使わずに構築されています。そのため、HKPS 鍵
サーバに対応していません。libcurl を使って構築された、HKPS に対応している鍵
サーバ補助ツールを利用するには、gnupg-curl パッケージをインストールしてくだ
さい。
.
GnuPG は、いかなる特許アルゴリズムも使用しません。これはつまり GnuPG が
PGP2 との互換性を持たないことを意味します。その理由は、PGP2 は数多くの国で
特許を取得した IDEA を使用しているためです。
Homepage: http://www.gnupg.org
■既に導入されているはずですが、インストールする場合は以下のように。。。
$ sudo apt-get install -y gnupg mutt
$ dpkg -L gnupg | grep 'bin/'
/usr/bin/gpg-zip
/usr/bin/gpgsplit
/usr/bin/gpg
/usr/bin/lspgpot
■「.gnupg」ディレクトリの作成
※「--- [Ctrl]+[C]で停止 ---」行は出ません。操作をして下さい。
$ gpg
gpg: ディレクトリー「~/.gnupg」ができました
gpg: 新しい構成ファイル「~/.gnupg/gpg.conf」ができました
gpg: 警告: 「~/.gnupg/gpg.conf」のオプションは起動している間、有効になりません
gpg: 鍵輪「~/.gnupg/secring.gpg」ができました
gpg: 鍵輪「~/.gnupg/pubring.gpg」ができました
gpg: 開始します。メッセージを打ってください ...
--- [Ctrl]+[C]で停止 ---
$ ls .gnupg/
gpg.conf pubring.gpg secring.gpg
■鍵の作成
※「2>&1」して「tee」にパイプしてますが、最後の出力分しか保存されません。
また、ユニークな内容にするため、メールの送信側(labunix@vmdebian.localdomain)でしか出力しません。
フルネームもメールドメインも異なるので、同じユーザでもかまいませんが、ここでは受信側を「dummy」ユーザとします。
$ gpg --gen-key 2>&1 | tee -a gpg.log
$ gpg --list-key | wc -l
~/.gnupg/pubring.gpg
--------------------------------
pub 2048R/XXXXXXXX 2012-09-16
uid labunix <labunix@vmdebian.localdomain>
sub 2048R/YYYYYYYY 2012-09-16
■公開鍵の出力
$ gpg --output `whoami`.asc --export --armor labunix@vmdebian.localdomain
$ head -2 `whoami`.asc
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.10 (GNU/Linux)
■「dummy」ユーザの公開鍵を追加。
※作成方法は上記と変わらないので、省略。
$ gpg --import dummy.asc
gpg: 鍵ZZZZZZZZ: 公開鍵“dummy vmsqueeze (dummy <dummy@vmsqueeze.localdomain>) <dummy@vmsqueeze.localdomain>”を読み込みました
gpg: 処理数の合計: 1
gpg: 読込み: 1 (RSA: 1)
■「dummy」ユーザさんの公開鍵に署名する。
※名前でも可能ですが、ユニークなメールアドレスを指定する。
$ gpg --lsign-key "dummy vmsqueeze"
$ gpg --lsign-key dummy@vmsqueeze.localdomain
■フィンガープリントの確認
$ gpg --fingerprint dummy@vmsqueeze.localdomain
pub 2048R/ZZZZZZZZ 2012-09-16
指紋 = ZZZZ ZZZZ ZZZZ ZZZZ ZZZZ ZZZZ ZZZZ ZZZZ ZZZZ ZZZZ
uid dummy vmsqueeze (dummy <dummy@vmsqueeze.localdomain>) <dummy@vmsqueeze.localdomain>
sub 2048R/XXXXXXXX 2012-09-16
■gpgのログを送ってみます。
$ gpg -o gpg.log.gpg -r "labunix@vmdebian.localdomain" -e ~/gpg.log
$ uuencode ~/gpg.log.gpg pgp.log.pgp | mail -s "GPG Test Mail" dummy@vmsqueeze.localdomain
■添付ファイルを「test.log」として保存、復号化。
「uuencode/uudecode」と「mail」コマンドが使えれば、S/MIMEではないので「Mew/Mutt」は不要。
「test.log」に落として「begin行〜end行」以外をエディタで削除する。
$ mail
s 1 test.log
$ vim test.log
$ uudecode -o gpg.log.gpg test.log
$ gpg -o gpg.log -d gpg.log.gpg
次のユーザーの秘密鍵のロックを解除するには
パスフレーズがいります:
“dummy vmsqueeze (dummy vmsqueeze <dummy@vmsqueeze.localdomain>) <dummy@vmsqueeze.localdomain>”
2048ビットRSA鍵, ID XXXXXXXX作成日付は2012-09-16 (主鍵ID XXXXXXXX)
gpg: 2048-ビットRSA鍵, ID XXXXXXXX, 日付2012-09-16に暗号化されました
“dummy vmsqueeze (dummy vmsqueeze <dummy@vmsqueeze.localdomain>) <dummy@vmsqueeze.localdomain>”
■中身。。。というか送信側、受信側の両方のサーバで元の「gpg.log」のチェックサムが一致すればよしとする。
$ md5sum gpg.log
28138651879bb05362fff680895a793a gpg.log
$ md5sum gpg.log
28138651879bb05362fff680895a793a gpg.log
■同様に送り返してチェック。
■Mew(Emacs系)
参考:MewでGnuPGを使おう
http://itpro.nikkeibp.co.jp/linux/column/inflection/4/index.shtml
$ apt-cache show mew | grep -A 15 Desc
Description-ja: Emacs 向けの PGP/MIME をサポートするメールリーダ
Mew (Messaging in the Emacs World) はテキストメッセージ、マルチメディア
メッセージ (MIME)、ニュース記事、および PGP・S/MIME・SSH・SSL を含む
セキュリティ機能へのユーザインターフェイスです。
.
Mew の機能一覧:
.
- POP、SMTP、NNTP および IMAP をサポート。
- 非常に複雑な構造のメッセージを容易に表示可能。
- メッセージ一覧が完全に構築されるまえにメッセージを表示開始可能。
- リファイルの場合、デフォルトフォルダは適切に推奨される。
- フィールド名、メールアドレス、受信者名、ドメイン名およびフォルダ名
を自動補完可能。
- キーワードなどを使って簡単にメッセージを検索可能。
- メッセージの流れを表示するメカニズムであるスレッドをサポート。
Homepage: http://www.Mew.org/
■Mutt(Vim系)
$ apt-cache show mutt | grep -A 16 Desc
Description-ja: MIME, GPG, PGP, スレッドサポート付きテキストベースメーラ
Mutt は洗練されたテキストベースのメーラです。いくつか特徴を挙げます:
.
* MIME のサポート (RFC1522 8 ビットメッセージのエンコード/デコードや UTF-8
のサポートを含む)
* PGP/MIME サポート (RFC 2015)
* SSL による暗号化と SASL 認証をサポートした先進的な IMAP クライアント
* POP3 のサポート
* メールボックスのスレッド化 (strict および non-strict)
* デフォルトのキーバインディングは ELM 類似
* キーバインディングを設定可能: Mush および PINE ライクなキーバインドを
サンプルとして供給
* 通常の mbox フォーマットに加え、MMDF, MH および Maildir を操作可能
* メッセージを (永久に) 延期可能
* 配色のサポート
* 簡単だが力強い rc ファイルを通じた高度の設定が可能
Homepage: http://www.mutt.org/
$ dpkg -L mutt | grep 'bin/'
/usr/bin/mutt-org
/usr/bin/mutt_dotlock
/usr/bin/smime_keys