セキュリティ/GnuPG+mewでメールを送受信 http://www.ark-web.jp/sandbox/wiki/85.html

普段mewを使ってるんですが、このたび、PGPを使って暗号化されたメールを受けないといけなくなったので、そのメモを残します。

[edit]

基礎知識

[edit]

鍵をつくる

$ gpg --gen-key
gpg (GnuPG) 1.4.1; Copyright (C) 2005 Free Software Foundation, Inc.
This program comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions. See the file COPYING for details.

ご希望の鍵の種類を選択してください:
  (1) DSAとElgamal (既定)
  (2) DSA (署名のみ)
  (5) RSA (署名のみ)
選択は? 

ここではマニュアル通り「 (1) DSAとElgamal (既定)」を選びました。

DSA keypair will have 1024 bits.
ELG-E keys may be between 1024 and 4096 bits long.
What keysize do you want? (2048) 

ここではマニュアル通り「 2048ビット」を選びました。

要求された鍵長は2048ビット
鍵の有効期限を指定してください。
        0 = 鍵は無期限
     <n>  = 鍵は n 日間で満了
     <n>w = 鍵は n 週間で満了
     <n>m = 鍵は n か月間で満了
     <n>y = 鍵は n 年間で満了
鍵の有効期間は? (0)

ここではマニュアル通り「0 = 鍵は無期限」を選びました。

Key does not expire at all
これで正しいですか? (y/N) 

「y」を選びました。

あなたの鍵を同定するためにユーザーIDが必要です。
このソフトは本名、コメント、電子メール・アドレスから
次の書式でユーザーIDを構成します:
    "Heinrich Heine (Der Dichter) <heinrichh@duesseldorf.de>"

本名: 
電子メール・アドレス: 
コメント: 

次のように設定しました。

gpg: 信用データベースの検査
gpg: 最小の「ある程度の信用」X、最小の「全面的信用」X、PGP信用モデル
gpg: 深さ: X  有効性:   X  署名:   X  信用: XX, XX, XX, XX, XX, XX
pub   XXXXX/XXXXXXXX XXXX-XX-XX
  指紋 = XXXX XXXX XXXX XXXX XXXX  XXXX XXXX XXXX XXXX XXXX
uid                  Yuki SHIDA <shida@in3c.org>
sub   XXXXX/XXXXXXXX XXXX-XX-XX

ふむふむ、これでできたようです。finger printも同時に作ってくれるらしいです。

[edit]

破棄証明書の作成

$ gpg -o revcert.asc --gen-revoke shida

sec  XXXX/XXXXXXXX XXXX-XX-XX Yuki SHIDA <shida@in3c.org>

この鍵にたいする失効証明書を作成しますか? (y/N)

/.gnupg配過にさきほど作った公開鍵、秘密鍵ができてるらしく、存在する鍵が認識されていることがわかります。ここでは「y」を選びました。

失効の理由を選択してください:
 0 = 理由は指定されていません
 1 = 鍵がパクられました
 2 = 鍵がとりかわっています
 3 = 鍵はもう不用です
 Q = キャンセル
(ここではたぶん1を選びます)
あなたの決定は? 

なるほど「パクられ」てからやればよいのかな?ここでは一旦Ctrl-Cで抜けました。

[edit]

鍵の通知

まずは公開鍵をexportします。

$ gpg  -a --export shida
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.1 (GNU/Linux)

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXX

これと最初に表示されたfinger printを連絡します。
finger printはあとから下記コマンドをうつことでも確認できるようです。

$ gpg --fingerprint
/home/staff/shida/.gnupg/pubring.gpg
------------------------------------
pub   XXXXX/XXXXXXXX XXXX-XX-XX
  指紋 = XXXX XXXX XXXX XXXX XXXX  XXXX XXXX XXXX XXXX XXXX
uid                  Yuki SHIDA <shida@in3c.org>
sub   XXXXX/XXXXXXXX XXXX-XX-XX
[edit]

mewを使って署名されたメールを送受信

参考) http://www.mew.org/release/info/mew_37.html.ja#SEC37
shida@in3c.org -> shida@ark-web.jpで署名をして送ってみます。
※なお、From:は証明書を作るときに指定したメールアドレスでなくてはいけません。

To: shida@ark-web.jp
Subject: 署名のテスト
From: Yuki SHIDA <shida@in3c.org>
Fcc: +backup
X-Mailer: Mew version 3.3 on Emacs 21.4 / Mule 5.0 (SAKAKI)
----
志田です。お疲れさまです。

C-c C-sとすると

Enter pass phrase (GNUPG):

と表示されます。
shida@in3c.orgの秘密鍵のパスフレーズを入力すると署名されて送信されます。
そうすると、

 5947 S05/13 Yuki SHIDA <sh 署名のテスト

のように「S」がついたメールが届きます。これを開くと、

X-Mew: <body> Good PGP sign "Yuki SHIDA <shida@in3c.org>" COMPLETE

のように、署名されていることがわかります。

生のメールを見ると、署名がmultipartで添付されていることがわかります。

Content-Type: Multipart/Signed; protocol="application/pgp-signature";
micalg=pgp-sha1;
boundary="--Security_Multipart(Sat_May_13_10_29_52_2006_078)--"
Content-Transfer-Encoding: 7bit

----Security_Multipart(Sat_May_13_10_29_52_2006_078)--
Content-Type: Text/Plain; charset=iso-2022-jp
Content-Transfer-Encoding: 7bit

志田です。お疲れさまです。

---Security_Multipart(Sat_May_13_10_29_52_2006_078)--
Content-Type: application/pgp-signature
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-----END PGP SIGNATURE-----

----Security_Multipart(Sat_May_13_10_29_52_2006_078)----
[edit]

mewを使って暗号化されたメールを送受信

shida@in3c.org -> shida@in3c.orgで送ってみます。
※なお、From:は鍵を作ったときに指定したメールアドレスでなければならないようです。
また、To:は公開鍵をimport済みのアドレスでなければならないようです。

To: shida@in3c.org
Subject: 暗号化のステト
From: Yuki SHIDA <shida@in3c.org>
Fcc: +backup
X-Mailer: Mew version 3.3 on Emacs 21.4 / Mule 5.0 (SAKAKI)
----
志田です。お疲れさまです。

ここで、C-c C-eとおすと、署名のときのようにパスフレーズを聞かれるようなことはなく、すぐに送信されます。
メールを受信すると、

5949 E05/13 Yuki SHIDA <sh 暗号化のテスト

のように、「E」がついたメールが受信されます。
表示しようとすると、

Enter pass phrase (GNUPG):

とパスフレーズを聞かれるので、shida@in3c.orgの秘密鍵のパスフレーズをいれると表示されます。
メールヘッダには

X-Mew: <body> PGP decrypted.

が入っていることが確認できます。
生のメールを見てみると、次のようなmultipartが構成されていました。

Content-Type: Multipart/Encrypted; protocol="application/pgp-encrypted";
 boundary="--Security_Multipart(Sat_May_13_10_43_42_2006_949)--"
Content-Transfer-Encoding: 7bit

----Security_Multipart(Sat_May_13_10_43_42_2006_949)--
Content-Type: application/pgp-encrypted
Content-Transfer-Encoding: 7bit

Version: 1

----Security_Multipart(Sat_May_13_10_43_42_2006_949)--
Content-Type: Application/Octet-Stream
Content-Transfer-Encoding: 7bit
 
-----BEGIN PGP MESSAGE-----
Version: GnuPG v1.4.1 (GNU/Linux)

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXX
-----END PGP MESSAGE-----

----Security_Multipart(Sat_May_13_10_43_42_2006_949)----

投稿者志田 | パーマリンク

| append.gif

tag: セキュリティ, PGP, mew?, メール?


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2007-10-22 (月) 16:42:01 (4403d)

アークウェブのサービスやソリューションはこちら