my Top page| ドジ話の目次| 前のドジ話次のドジ話

Mew にてメールの暗号化(PGP)

  2001年3月24日(土)

 良くメールの暗号化というのが話題に上ります。
まあ、個人的にメールを暗号化してやりとりしないといけないことは、今のと
ころ有りません。が今後、こうしたことは色んな場面で必要になってくること
は十分考えられます。
 それ以外に、技術的な興味があったのと、最近の Mew バージョンでは pgp
に対応しているということなので、それならやってみようと思い立ちました。

 どれとどれが必要なのか、余り考えもせず(直感的?)、次のものを get
してきて、コンパイルしてインストールしました。インストール自体は至っ
て簡単でした。

 pgp50i-unix-src.tar.gz
 x-pgp-sig-1.3.5.1.tar.gz

インストールして、暗号鍵の作成作業を行って、~/.xemacs.el に次の記述を
行うだけでした。

(setq mew-prog-pgp "pgp")

 後は、メールを書いて、メニューバーにある sig+Enc ボタンを押すと画面
が反転し、パスフレーズを入力要求されますので、鍵を作った時のパスフレー
ズをそのまま入力すれば署名&暗号化メールが作成されます。
 そのまま、C-c C-c で送信すれば OK です。

 受信後は、開こうとするとパスフレーズを要求されますので、入力すると
復号化されて元のメールに戻ります。

# GNUPG でもやってみましたが、こちらは sign の段階でフリーズしてしまい
# ました。原因は??です。まあ、PGP で上手く行きましたので、これで止めと
# きます。 

参考:作成中画面(by Mew)


参考:暗号化後画面(by Mew)


参考:受信画面(by Mew)


参考:解読後画面(by Mew)


-------------- 暗号鍵の作成作業 ----------------------------

【1】インストール 

暗号化と電子署名用に、

 pgp50i-unix-src.tar.gz
 x-pgp-sig-1.3.5.1.tar.gz

を伸張してインストールする。これは至って簡単。

これから鍵を作成する作業に入りますが、その前に

$ touch ~/.pgp/pgp.cfg

とししておきます。作っておかないと鍵作成の過程で”無いよ!”と言われて
作業がフリーズしてしまいました。


【2】PGP 鍵の作成 

$ pgpk -g
Choose the type of your public key:
  1)  DSS/Diffie-Hellman - New algorithm for 5.0 (default)
  2)  RSA
Choose 1 or 2: 1

Pick your public/private keypair key size:
(Sizes are Diffie-Hellman/DSS; Read the user's guide for more information)
 1)   768/768  bits- Commercial grade, probably not currently breakable
 2)  1024/1024 bits- High commercial grade, secure for many years
 3)  2048/1024 bits- "Military" grade, secure for forseeable future(default)
 4)  3072/1024 bits- Archival grade, slow, highest security
Choose 1, 2, 3 or 4, or enter desired number of Diffie-Hellman bits
(768 - 4096): 1


You need a user ID for your public key.  The desired form for this
user ID is your FULL name, followed by your E-mail address enclosed in
<angle brackets>, if you have an E-mail address.  For example:
  Joe Smith <user@domain.com>
If you violate this standard, you will lose much of the benefits of
PGP 5.0's keyserver and email integration.

Enter a user ID for your public key: Mitsukuni Akiyama <manpou@mxp.mesh.ne.jp>

Enter the validity period of your key in days from 0 - 999
0 is forever (and the default): 0

You need a pass phrase to protect your private key(s).
Your pass phrase can be any sentence or phrase and may have many
words, spaces, punctuation, or any other printable characters.
Enter pass phrase: ***** ・・・・パスフレーズ入力
Enter again, for confirmation:***** ・・・・繰り返し入力
..******* ...........................******* . 
............................******* ....................................................................................................******* 
Keypair created successfully.

If you wish to send this new key to a server, enter the URL of the server,
below.  If not, enter nothing. ・・・・・何も入力せずリターン

で、鍵の作成が終了。

【3】鍵の確認

$ pgpk -l
Type Bits KeyID      Created    Expires    Algorithm       Use
sec+  768 0xB570FDDE 2001-03-22 ---------- DSS             Sign & Encrypt 
sub   768 0x37CDF95A 2001-03-22 ---------- Diffie-Hellman                 
uid  Mitsukuni Akiyama <manpou@mxp.mesh.ne.jp>

1 matching keys found
$ 

$ pgpk -xa 0xB570FDDE
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: PGPfreeware 5.0i for non-commercial use

mQFCBDq6F9kRAwDo92RrM2zF7dRVs17X7p/goapv5blfC4qzdbTt/72QY01nBwjJ
NLJbo7O9qNLlXwRTuCU8FsvoT0yogYruJd9FPbRIMXCbXTk8l+rTKBIDJ9ilQhAf
B2k7tdpVGKr2yncAoP/lyTre3ZZjW3A72sKzKDrxFDihAv9jt1wh0EHCcEnbREFK
h9UBvAYd6jq5Gv45DwsafHoXELQU0nPKQ/iJ8B00VGYgQQzX02Wp38JNY6QaHCE4
7BEca6u3Muke8xysYjdKdZGpgAqhsl55akT5509v1Rfdj4YDALMshqFxfe6ahtpx
R19vs3HQe+/jr7a+1+14pyZYkmv/z26UCbog3jT89Jx45+Tsldvwp+WOIiNtIY9r
G7jJRxvRFmin97V2kUIdpIfyAEuQBfLx6XHnKx/nIoWznPW6dLQpTWl0c3VrdW5p
IEFraXlhbWEgPG1hbnBvdUBteHAubWVzaC5uZS5qcD6JAEsEEBECAAsFAjq6F9kE
CwMBAgAKCRDN5CTWtXD93q+1AJ95ySbFIpjq/pg71IKgxAyXhr90ywCgt9ywln94
VpIRIA0A7thNRX8IN8q5AM0EOroX4hADAN42IsNPaJ2M4s2j1yoZJxY/8mJiniTU
8SAeRnXRExC3vFnDy1TRJhr7jgPgrfI8jEgUBPBHtSgw19+oq8q5ODBAHAEWsq2T
SCILexIDeREdysjPDkk1ASQyP7hf9moBHQACAgL9FdRhmrZ/5/pJ6vb1WWjGiD7J
REsLaj0dqvD29a1X/dsh/oyhOCmssRLeUlSPpBE8w/05z+pX73d9M+OYKTGfFF/F
MlT33KBDfMpr9JA0Pv7N8HHF6cYmNCALhjFs/6EciQA/AwUYOroX4s3kJNa1cP3e
EQIIbACffDdknBep5J+8Vtl4IXCpm4kfx38AoM3IoV/DktkUCPBNBPkOOoc8LMIM
=C50v
-----END PGP PUBLIC KEY BLOCK-----
$ 

【4】 鍵を公開鍵サーバーに登録

上記の鍵を下記にサーバーに登録

http://pgp.nic.ad.jp/pgp/

の画面下の[注意事項を了解した]をクリックすると、登録画面になります。


登録作業は登録画面に、"PGP 公開鍵(ASCII-armor):"というテキスト
ボックスが有りますので、 上記の

-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: PGPfreeware 5.0i for non-commercial use

(省略)

-----END PGP PUBLIC KEY BLOCK-----

をコピーして張り付けます。
そして、登録ボタンを押せば登録終了。

【5】公開鍵の確認(自分のでも他者のでも同じ)

間違いなく登録出来たかは、次の要領で確かめられます。

検索画面で、公開鍵の ID である

0xB570FDDE

を入力して検索ボタンを押すと、・・・・例は詳細検索

Public Key Server -- Verbose Index ``0xB570FDDE ''

Type bits/keyID    Date       User ID
pub   768/B570FDDE 2001/03/22 Mitsukuni Akiyama <manpou@mxp.mesh.ne.jp>
          Key fingerprint =  12 73 EC 5C 20 7E 72 C8  34 CC 13 D3 CD E4 24 D6  B5 70 FD DE 
sig       B570FDDE             Mitsukuni Akiyama <manpou@mxp.mesh.ne.jp>

と表示されます。下線がついている、768/B570FDDE をクリックすると、

Public Key Server -- Get ``0xB570FDDE ''

-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: 5.0
Comment: PGP Key Server 0.9.4+patch1

mQFCBDq6F9kRAwDo92RrM2zF7dRVs17X7p/goapv5blfC4qzdbTt/72QY01nBwjJ
NLJbo7O9qNLlXwRTuCU8FsvoT0yogYruJd9FPbRIMXCbXTk8l+rTKBIDJ9ilQhAf
(省略)
REsLaj0dqvD29a1X/dsh/oyhOCmssRLeUlSPpBE8w/05z+pX73d9M+OYKTGfFF/F
MlT33KBDfMpr9JA0Pv7N8HHF6cYmNCALhjFs/6EciQA/AwUYOroX4s3kJNa1cP3e
EQIIbACffDdknBep5J+8Vtl4IXCpm4kfx38AoM3IoV/DktkUCPBNBPkOOoc8LMIM
=C50v
-----END PGP PUBLIC KEY BLOCK-----

と、公開鍵が表示され登録されていることが確かめられます。

【6】他者の公開鍵の登録

については、、、、、、、、

相手が居なくて、まだ確認していません。(笑い)

$ man pgpk

を見てチェックしたのみ、、、、。

相手の keyfile は、公開鍵の確認作業でも取得はできます。これを、自分の
keymanager に登録すれば良いのでは、、、、。(推測)

$ pgp --help
PGP is now invoked from different executables for different operations:

pgpe    Encrypt (including Encrypt/Sign)
pgps    Sign
pgpv    Verify/Decrypt
pgpk    Key management
pgpo    PGP 2.6.2 command-line simulator (not yet implemented)

See each application's respective man page or the general PGP documentation
for more information.
$ 
あと、
 pgp(1),pgpv(1),pgps(1),pgpk(1),pgp.cfg(5),pgp-integration(7),
 http://www.pgp.com (US versions),
  http://www.pgpi.com (International versions)

を見ないといけないですね、、、、。それと、コマンドなんかは古いバージョ
ン (PGP 2.6.2) などと変わっているようです。色んなWeb サイトを見ました
が、大概この古いバージョンのコマンドでの説明が殆どでした。



my Top page| ドジ話の目次| 前のドジ話次のドジ話