## Everything You Need To Know To Start Using GnuPG with Mutt

Justin
Miller
R.

    justin@solidlinux.com

全
高橋
日本語訳

    arms405@jade.dti.ne.jp

23 September 2001
0.1
23 September 2001

Revision 0.1, Released 23 September 2001

========================================================================

I. Purpose II. Overview III. Assumptions IV. Configuring GnuPG V. Protecting Your Private Key VI. Publicizing Your Public Key VII. Understanding Validity and Your Web of Trust VIII. Understanding The Need For Message Signatures IX. Understanding How Signatures Are Made X. Understanding How Encryption Is Done XI. A Practical Example of Manual Key Management XII. A Practical Example of Manual Signing and Verification XIII. A Practical Example of Manual Encryption and Decryption XIV. Configuring Mutt For Use With GnuPG XV. Trying It All Out XVI. Links For More Information XVII. Contributors XVIII. Feedback

======================================================================== ]]>

## 目的

ボクは今，いくつかの理由があってこの文書を書いている．ひとつめに， すべての人はメイルに暗号と署名を使うべきだと信じていること．

ふたつめに，もしキミがもう Mutt (これはたくさんの人が使っているが) のよ うなメイルクライアントを使っているなら，PGP 互換のソフトウェアを使わない でいる理由はぜんぜんないと信じていること．

みっつめに，ボクがこれまでずっと見てきた文書はぜんぶ，前から PGP を使 いこなしてきた誰かさんに合わせて書かれていて，ただ「Mutt の送信時自動署 名の設定方法」とか「旧式なインライン PGP メッセイジを S/MIME 式に書きな おさせる procmail 設定ファイルの書式」とかを説明してるだけだからだ． そういう情報は，もしキミが専門用語 (jargon ってやつ) を知らなければほとん ど無意味だ．ボクが今あるそうした文書を踏みつけてやりたいと思ってるわけ では決してない．Mutt や GnuPG に関する，「Mutt-GnuPG-PGP-HOWTO」とか， 他のどんな既存文書も．ボクはただ単純に，Mutt をGnuPG と一緒 に使うってことだけに関する情報源を提供したい，そして全体的な問題のなかで だいじなところを要約して，はやく，りっぱに，責任感を持って始められるよう 助けたいだけなんだ．

よっつめとして，フリーソフトウェアのプロジェクトである Mutt と GnuPG を 両方とも促進して，ふだんのコミュニケイションにもっとよく使ってもらおうと しているから．

最後の理由は，ボクが入門書を書くのが好きで，たくさんの人にこの文書を使っ てもらいたいと思っていること．ボクは独りでいろいろ調べたり数字を計算した りしたから，これからはみんなの力になっていきたいんだ．

## 概観

この文書を読み終えるころには，キミは暗号学的に署名／暗号化されたメイルを 送受信できるようになる．そう．Mutt というメイルリーダと，GnuPG という OpenPGP (RFC2440) 規格を満たした GNU ソフトウェアを使って送受信するんだ． どうして暗号を使うべきなのか知りたいなら，どうか最初にその話題のあたりを 読んでほしい．(この文書の最後のほうにあるリンクも参照)

GnuPG を Mutt で使うのはとっても簡単なのだが，おもに教わるのは，実際に 行なうことの背後に隠れた理論や不必要な詳細だ．この文書では署名の 必要性とメッセイジの署名方法，送られてきたメイルの署名をどうやって検証す るか，メッセイジをどう暗号化するか，そしてどうやって復号化するかについて 説明するつもりだ．だからこれでキミは Mutt の視点から，メイル友達の公開鍵を どうやって集めたり管理したりできるのか，とか，どうやって自分の秘密鍵を管 理すればいいのかもわかるはず．さらには，自分の公開鍵を公開するにはどうす ればいいか，とか，ほかの人がキミと連絡をとるときに PGP を使うよう励ます 方法までわかるだろう．

## いくつかの前提

この文書を読む前にキミは，Mutt というメイルリーダの基礎知識を持っていて， 公開鍵暗号方式の基本を知っているべきだ．つまり，公開鍵は他人がキミへの メッセイジを暗号化するときとかキミからの署名を検証するときに使うもので， 秘密鍵のほうは署名をつくったり自分あてのメッセイジを復号化するときのため のものだということを知っていてほしい．

## GnuPG を設定する

秘密鍵と公開鍵を造り出すために，GnuPG からの指示に従おう．どんな値を使え ばいいかわからなければ「key type (鍵の形式)」と「key size (鍵の大きさ)」 にはデフォルト (既定) の値を使い，名前とメイルアドレスはキミが普通に書い ているとおりのを使うこと．

あとはただ，必要なら勝手に公開鍵を取ってきてくれるように GnuPG を設定す るくらいだ．これは Mutt と使うとたいへん便利で，もうわざわざ他のターミナ ル (端末) で鍵をダウンロードして取り込む必要がなくなってしまう．これをす るには，キミの「~/.gnupg/options」というファイルにこういう行を書き足せ ばいい

      keyserver <鍵サーバのアドレス>

いくつかのおすすめ鍵サーバ

      wwwkeys.pgp.net
      search.keyserver.net
      pgp.ai.mit.edu

覚えておいてほしいのは，鍵の取り出しは HTTP とかを介してやるわけではない から，鍵サーバのアドレスは「http://」とかを付けてはいけないということだ．

ボクの公開鍵を取り出してテストしてみよう．

      gpg --recv-keys 0xC9C40C31

では，その鍵がキーホルダ (鍵束ファイル) に入ったことを確認しよう．

      gpg --list-keys justin

## 秘密鍵を保護する

ここで一番だいじなセキュリティの要点は，自分の鍵束ファイルを守ることと， それにも増して，自分のパスワードを守ることだ．もしかしたらキミの 秘密鍵が盗まれることだってあるかもしれない．でもパスワードが取られなけれ ば，そんなもの持っていたってほとんど価値はないはずなんだ．

秘密鍵をコピーしておくマシンの台数は制限しておくべきだろう．秘密鍵を運 ぶときにもフロッピディスクとかの物理的な手段でやるべきだ．まわりから盗み 見られる可能性が排除されていると確信できない (たとえば他人がキミのファイ ルにアクセスできるようなコンピュータとか) という環境には，秘密鍵を持ち 込んではいけない．あるいは，職場には「職場用の鍵」とかを別に造っておくと して，「家の鍵」は安全な場所にしまっておかないといけない．

キミの秘密鍵が盗まれるってことは，キミのアイデンティティが盗まれるというこ となんだ．発達してきているデジタル社会においては，キミの秘密鍵はそろそろ 写真付き身分証明と同じ重みを持つようになるだろうし，場合によっては既にそ れ以上ということだってある．

## 公開鍵を公開する

キミの公開鍵は，キミからの署名つきメッセイジを検証するためにも，キミに暗 号化メッセイジを送るためにも必要だ．その鍵をみんなが使えるようにするに は，ウェブサイトに置くとか，印刷・出版するとか，メイルや郵便で送るとか， 鍵サーバに上げておくとか，ほかにもいろいろな方法がある．

公開鍵のある場所が多ければ多いほどいい．なぜなら，それがぜんぶ書き変えら れて誤用されちゃうという危険性がそれだけ低くなるからだ．でも，鍵がた くさんの場所から入手できて，それがすべて合っているからといって，それだけでは その鍵が正しいとみなされることにはならない．鍵は，キミの信用の輪 (次の 章を参照) のなかで正しい (たとえば本当にその持ち主のものだ) と認め られている場合だけ正しいと認識されることになる．わかりやすく言おう．キミ は，あるメッセイジがその鍵で生成されたかどうかは区別することができる． しかし正確度チェックをしないと，その鍵が本当に，持ち主だと思っているとおりの 人のものかどうかは区別できないということだ．

ボクの公開鍵は，この文書にもあるし，鍵サーバで鍵 ID かボクの名前を検索し ても出てくるし，ボクのウェブサイトにもある．それに加えて，Muttを (あとの 方にあるとおり GnuPG を使えるよう設定してから) 使えば自分の公開鍵を送る のも簡単だ．ただ「Esc」キーに続けて「k」を押せばいいだけだ．

また，鍵のダウンロード情報に関するヘッダをメイルに付けることもできる．ボ クの私的メイルにはぜんぶ，こういうヘッダを含めている

      X-PGP-Key: http://solidlinux.com/~justin/pubkey.asc

こうした方法すべては，メイルすべてに署名することも含めて，キミがセキュア (安全確実) なメイル交換のために暗号を使いたがっているということを知らせ る助けになる．こういうことをすると，よく，添付署名にどんな意味があるのか， とか，どうしてキミがウェブサイトにわけのわからない文字の羅列のファイルを 置いているのか，という疑問も引き起こすことになる．こういうときこそ，PGP や危険意識を広める絶好のチャンスだ．

大観衆に (メイリングリストやなんかを通して) 送るメッセイジに署名すること が適切かどうか，ということについては大きな論争がある．ボクは近い将来，こ の論争の両サイドの論議を (訳注: 文書のかたちで?) 入手可能にしたいと思っ ているが，もっと情報がほしいんだったら，mutt-users とか gnupg-users の メイリングリストの記録を検索することができる．

## 正確度と信用の輪について理解する

ある特定の鍵についての「Validity (正確度)」とは，その鍵がキミの思ってる とおりの人のものだという知識を指すコトバだ．この知識は，その鍵に署名 した人たち (その鍵の持ち主も含むけど，その人だけとも限らない) に対す るキミの信用に基づいている．

だから，ある人物の「Trust (信用度)」は，ひとつの特性としてキミが GnuPG に組み込むものというわけだ．信用度はキミだけが知っていなければならない私的な 値で，キミが，ある鍵へのその人の署名を自分の署名と同じように信用するかど うかとか，そういう信用の置き方の度合いを指すものだ．最初は，鍵の持ち 主はみんな「unknown (不明)」っていう信用度を持っている．もし不正に署名す る輩だと知ってれば，キミはその人に「none (なし)」という信用度をつけ るかもしれない．「marginal (部分的)」という値なら，その人が鍵の署名を 分かっていて，かつ正しく行なっているという意味になる．「full (完全)」と いう値は，その人が鍵への署名についてのとても良い理解があって，ある鍵にそ の人の署名が付いていればキミが自分で署名したのと同様に信用するほどだ，とい うことを意味する．

デフォルトでは，たった一人でも完全な信用度を持つ人の署名があるか，あるい は三人の部分的な信用度を持つ人の署名があれば，その鍵は正しいと認められる． これはもちろん再設定できるけど，部分的に信用されている持ち主の人数がそれ より少なくてもいいことにすると，それだけ少人数でも口裏を合わせて鍵を キミに渡せば，それを正しいとみなしてしまうことになる．

だから信用された署名というものは必要で，それがないと鍵は正しいと認められ ない．ただ，それがないからといって，その鍵が予想と全然ちがう人のものだと いうことにもならない．それなのにソフトウェアは，それを知るすべがないぞと 言って警告している．明らかに，信用の輪は公開鍵暗号方式の弱点だ．とは いえ，正しく使えばこのシステムも，ある程度までは確信が持てる状況をもたら すことができるはずだ．

ひとつの例で鍵の正確度の大切さを説明させてほしい．キミ が IRC (チャット) で誰かと知り合ったとしようか．彼女は長い時間をかけて， いろいろなシステム管理の問題で助けになってくれた．そしてキミに，ルート権 限で実行すべきスクリプトファイルを送ってくれると言っている．さて，このス クリプトが確実にこの人から来ると分かっているのであれば，自分のマシンでそれ を実行するのに何ら問題はない．キミは彼女を信用しているのだから．しかし， もしかしたら誰かが前からキミと友人とのやりとりを，キミが彼女の公開鍵を手 に入れたメイルも含めて乗っとっていたかもしれない．もしそうだとすると，そい つは彼女のメッセイジを書き換えて有害なスクリプトを含ませたうえで正しい ものとしてキミに渡すこともできてしまう．最終結果としてキミは害を受けて， その友人を責めることになるかもしれない．

まず正確であることを確実にしてから公開鍵を使うようにしていたら，こういう ことは避けられたのだ．その鍵に自分で署名しておけば正確だということにして おける．その鍵が少なくとも一人，完全に信用できる人から署名してもらっている ことが確認されれば，それでも確定する．あとは，その鍵が三人以上，部分的に 信用してる人から署名されているのでもいい．

公開鍵に自分の秘密鍵で署名するためには，キミはその鍵が絶対に，本人の言う 通りの人物のものだという確信を持っていなければならない．だから，自分が署名 する前には，信頼できる伝達方法を使って，その鍵の指紋を検証するべきだ． 指紋はこうすれば見ることができる

      gpg --fingerprint <key owner name>

たとえば，ボクの指紋はこれ

      2231 DFF0 869E E3A5 885A E7D4 F787 7A2B C9C4 0C31

持ち主と直接会って話したり，(声を知っているなら) 電話で聞いたり，内容証 明郵便 (? 原文: certified mail) のやりとりをして，その人が言っている通り の本人だとわかった上でその指紋もピッタリだったときに，キミはやっと署名を することができる．こういうふうに

      gpg --sign-key <鍵の持ち主の名前>

信用度を指定するためには，GnuPG の信用度デイタベイスの，その鍵の持ち主の ところに信用度の値を割り振る必要がある．こうやって鍵を編集する

      gpg --edit-key <鍵の持ち主の名前>

「trust」と入力して，指示に従えばいい．

これからは，誰か，鍵の署名の大切さを理解していると完全に信用できる 人がいれば，そのキミの信用の輪のおかげで，その人の署名した鍵はすべて， 正しいと信じられるようになる．

## メッセイジ署名の必要性を理解する

メッセイジ署名をするのは第一に認証のためだ．メイルの「From:」ヘッダはかん たんに偽造できるので，ほんとうに不確定要素だ．ちょっと 見ただけでキミはそのメッセイジを，本当はぜんぜん関係のない人からのものだ と信じこまされてしまうかもしれない．しかし署名があれば，そのメイルが実際に キミの思っているとおりの人から送られたのかどうか確定するのに役立つ．

第二の理由は内容保全だ．キミが取りに来るのを (プロバイダとかで) 待っている メイルにぜんぶ触れる権限のある人は，そのメッセイジを変えることもできる． 単純に誰かとの待ち合わせの場所を変えることもできるだろうし，キミがお金を 振り込むことになってる銀行口座の番号とかいう，深刻な場合もありうる． 署名は，差し出し人のところからキミのメイルクライアントソフトまでの間 でメッセイジが改竄されたかどうかを教えてくれる．

## どうやって署名ができるのかを理解する

ふつう，署名はメッセイジに添付されてくる．別のところからダウンロードして くる分離した署名も可能だが，メイルのように，ひとつで 完結したコミュニケイションができることを目的としたものには実際的ではない． ひとむかし前は，添付式署名はメッセイジの最後に貼り付けるのが標準だった． しかし最近の標準は，本物の MIME 添付ファイルをメッセイジに含ませる形式 だ．いずれにせよ Mutt は両方の方式を検証できるので関係ないが．

重要なので理解していてほしい点だが，それぞれのメイルで署名は違っていて， それぞれの署名は，その差し出し人の鍵とそのメッセイジ内容の両方に基づいて いる．もしその人の署名がぜんぶ同じだったとしたら，だれかがメイリング リストの投稿からその署名を書き写すだけで，自分のメイルに付けはじめること だってできてしまう．そういうわけで，署名しようとするデイタ内容も基に して署名が造られる．

もうひとつ重要な点が最近，セキュリティの会議で取り上げられてきた．それは 署名の弱点という問題だ．というのも，メイルの本文に対してしか署名はされない ので，極悪ハッカがメッセイジを横取りして違う人に向けて送ったとしても 署名は無傷のままなのだ．だから，たとえばキミの上司が職場の誰かにメイルで 「おまえはクビだ!」と言ったとしたら，キミはそのメッセイジを誰か別の人に 送って，それを自分に宛てられたものだと思い込ませることができる．その 署名を見ると，なんとその上司のだということになるわけだ．これを回避する方法 は，メッセイジ本文の中にいつもその宛て先をはっきり書いておき，そして 言いたいことは，第三者が見ても誤解しないような文脈の中で言うようにする ことだ．

## どういうふうに暗号化されるのか理解する

メッセイジが暗号になるという明白な事実は置いておくとして，暗号化について おぼえておかなければいけないのは，差し出し人でさえもその暗号メッセイジを読 めないということだ．さいわい Mutt には二つの解決策がある．送り出すメッセイジ の平文 (そのまま読める文) のコピーを「送信済み」フォルダに保存させるオプ ションが，まずひとつある．(Mutt の「fcc_clear」オプションを参照) また， GnuPG の「--encrypt-to」オプションを使って Mutt が暗号メイルをぜんぶキミ 向けに暗号化するよう設定すると，「送信済み」フォルダにある暗号メイルは自 分で復号化することができるようになる．このいずれかを設定しないかぎりは， 「送信済み」フォルダにコピーがあったとしても，宛て先の人しかそのメッセイ ジを復号化することができない．

(訳注: Mutt のオプションについては「man mutt」とか「man muttrc」，あとは 「less /usr/share/doc/mutt-doc*/manual.txt」というようなコマンドを Eterm 上などで打つと読める．表示されてから「/fcc_clear」と入力して検索できる． 終了するときは「q」を押す)

誰かに向けてメッセイジを暗号化するためには，その人の公開鍵が必要になる． いったんその鍵を手に入れて宛て先にその人を指定すれば，メッセイジは (今の ところは) 誰にも破ることのできない信号に暗号化されてしまう．

暗号化だけでは身元証明にはならないことをおぼえていてほしい．受け取 り人の公開鍵があれば誰でも暗号メイルを送れるからだ．暗号メイルに署名を 付けることによって，それがキミから出たものであり，キミが暗号化したものだ ということを確証できる．

## 手作業で鍵を管理する実践例

Mutt がキミに何をしてくれるのか理解するために，画面のウラ側で起こってい ることを知っておく必要がある．誰かの署名を検証したり，メイルをその人に向 けて暗号化するには，その人の公開鍵が必要だ．鍵は，その人のウェブサイト からダウンロードしたり鍵サーバに要求したりもできるし，もしかしたら当人が メイルで送ってくれるかもしれない．(ところで，もちろん Mutt には便利な ショートカット (短縮キー) があって，「Ctrl」を押しながら「k」を押せば， メイルから鍵を取り出すことができる) 鍵の見かけはこういう感じ (これは， ボクの公開鍵)

      -----BEGIN PGP PUBLIC KEY BLOCK-----
      Version: GnuPG v1.0.6 (GNU/Linux)
      Comment: For info see http://www.gnupg.org

      mQGiBDsNpPoRBAC5A1vMkEiE2Z4AE9YYn3FOYi0K/ZDjUIz2/5wK4vX5IN149Yo5
      HzOH0ftJK2oTBRaKJXF1DvUO+eyIRn02BiWoLB/Dy624LEZ7psyfGLB9v/OO1T8k
      2RxAHVZefMOlJZhuAXpts2dtzkc0hBApo80Jgka1LW+i1uR/0EMj98hGwwCgl8cE
      k2xD4PZGNygAQ8NkVjkkVr8EALVGxfr4+WmmOn/RFyCnFppyYnTkBIPV0/5fUSzr
      z53AYXXCfbHx8eF8rRxCjmFdzSu212s7ISOqUXCahLSDcsWhjaavMzD/pA/GvWhO
      vTaVprdqT6pipQTvFXE4IgD1PRwl4KCu6BsJMeVWXQkjmh36y1FIA2Ub43VQnZJE
      ZBitBACaS+S7+fVFvyvK654Chh0K3Klc1zUL9TE5l0Os2veFLS2s9d6y6fpEhnB0
      iABWPPXZRuPFjM8GG1cw/KtQDo/H2y2PtwG3mElF3fdZklGurvCTffWJyE2UZBz0
      s1owo2LJF978mzKonLOc2sYT7Ix5mdsgdBAjZ4kH8EP7t3NukrQjSnVzdGluIFIu
      IE1pbGxlciA8anVzdGluQHZveGVsLm5ldD6IVwQTEQIAFwUCOw2k+gULBwoDBAMV
      AwIDFgIBAheAAAoJEPeHeivJxAwxVeEAnRdggrNekDQMyTmd5C1UjITxIhEoAJ9m
      q4RDI8Fw8waK4xIGkT32gcR7H4hGBBARAgAGBQI7DcFUAAoJEN+hndnKoo+RBgMA
      n3VjFLMZUJO86aqg4MEoQaouK5L4AJ9X5s07QlGNqRruAAVvyQ2tCIz7KbQoSnVz
      dGluIFIuIE1pbGxlciA8anVzdGluQHNvbGlkbGludXguY29tPohXBBMRAgAXBQI7
      DsfIBQsHCgMEAxUDAgMWAgECF4AACgkQ94d6K8nEDDFB/QCfYengAcA03vdik/vp
      ktnSg88R8Q8An1iQ8g9UKNIBPzbhLYOSOa441y9guQENBDsNpP4QBAC6KTosKykU
      PZQY+bd+hTPBHArGLFXGHC5RJtCVEU7iZHt4CEEEveAt6pAzoM/IBEIl0kHoG9Zq
      KUE8DY8Wnc/c0fLBFuLxa5G5J+6NBXrQwf7mOhbpFjvUPegnJJpUaTJRCYLc4sBt
      jMfaAUZJR5xRXVipLk0e8EwIuDDR1eVwbwADBwP7BU/PbNPMkGcxdrCyznBEvZAA
      txqvplJwPZbOpMJ6ck/ckeXoy6G8f3vGUyGqg8bwS8SC+pxOkaBVDdpLXcfcJwJJ
      R88HXIjfYZdalnMDELDHAvSsHxDsjs49tLzXRRQ0NpGPEGFiXHzMv43Ke8oYErqd
      BvyyxvcrgZ6DdScYwWOIRgQYEQIABgUCOw2k/gAKCRD3h3orycQMMX4zAKCBlYSH
      yeddCzek9yaiPoOD+6s3zQCfU0FwlY6o+vDLhSRerSfoA90g7gk=
      =ERSn
      -----END PGP PUBLIC KEY BLOCK-----

とりあえず鍵ファイルがキミのコンピュータに入ったら，それをキミの鍵束， つまり鍵の倉庫みたいなものだが，そこに入れるためにこうしておこう

      gpg --import <鍵ファイル>

あとの世話はみんな GnuPG がみてくれる．このシステムの利点は，開始と終了 のマークの外の無関係な文章が無視されるから，鍵を，ほかの情報の入ったテク ストファイルに埋め込むことができるところだ．そんな中からでも GnuPG は 鍵を (複数でも) 取り出すことができる．

キミの鍵をぜんぶリストアップして，鍵がもうキミの鍵束に入っていることを 確認できる

      gpg --list-keys

鍵 ID か持ち主の名前から特定の鍵をリストアップすることもできる

      gpg --list-keys <持ち主の名前> (原文: first name)

ここまでのは公開鍵の必要最低限な使い方だけだということをおぼえているように． 信用の輪を考慮にいれると，あとから鍵の持ち主の信用度を編集したり，本当 にその鍵を使ったコミュニケイションを信頼したければ鍵に署名したりする べきなんだ．

## 手作業で署名したり検証したりする実践例

ためしにこういう例文をつかおう

      Here is some sample text.

もしこれを「sample.txt」というファイルに保存して，配布するまえに署名して おきたいと思ったら，ボクはこうする

      gpg --clearsign sample.txt

パスワードを入力すると，新しく署名されたものが「sample.txt.asc」に出力さ れる．こういうふうに

      -----BEGIN PGP SIGNED MESSAGE-----
      Hash: SHA1

      Here is some sample text.
      -----BEGIN PGP SIGNATURE-----
      Version: GnuPG v1.0.6 (GNU/Linux)
      Comment: For info see http://www.gnupg.org

      iD8DBQE7fE+B94d6K8nEDDERAnWcAJ9ZOEiWcmfuDokPfvJtch/ERbZZFwCfeNKS
      3UFUmgeigIIJQcZbhocMJUQ=
      =FCcr
      -----END PGP SIGNATURE-----

Mutt を使うと，文章を勝手に署名してくれるし，パスワードは設定しておいた 時間だけとっておいてくれるようにできる．それに，受け取り人がキミのメッセ イジを MIME 添付ファイルの署名付きで手に入れるようにもできる．

さて，署名付きファイルを検証するために，こうしよう

      gpg --verify sample.txt.asc

画面には，もしボクが署名した人 (つまりボク) の公開鍵を持っていれば，こう いうふうに出てくる (訳注: $LANG=C の場合)

      gpg: Signature made Thu 16 Aug 2001 06:56:01 PM EDT using DSA key ID C9C40C31
      gpg: Good signature from "Justin R. Miller <justin@solidlinux.com>"

Mutt は勝手に署名を検証したり，必要なら公開鍵を取り出したりできる．署名 されたメッセイジも，署名の正確度に関する情報が何行か付いただけの，ただの メッセイジ文として表示してくれる．だから見かけは普通のメイルみたいだし， 差し出し人の公開鍵さえあれば (または自動取得できれば) 何もしなくてもメッ セイジの内容証明ができてしまう．

## 手作業で暗号化したり復号化したりする実践例

ファイルを暗号化するから，こうしよう

      gpg --encrypt --armor sample.txt

この「--armor」オプションをつけると，暗号ファイルをバイナリ (2進数) 式の デイタではなく，テクスト (文字) のデイタで出力させることになる．宛て先 の人の公開鍵を選ぶと，こんな暗号ファイルができる．

      -----BEGIN PGP MESSAGE-----
      Version: GnuPG v1.0.6 (GNU/Linux)
      Comment: For info see http://www.gnupg.org

      wh/HTTQIPdAOfSz9ZwsabH5dS9llSpeHHNGpO2cyR90owL3/p59IqG/7YycnaT6m
      s5v45hAdGVVwHjwkUlqJElKgqD02S3i7qbOxOfE5vdeMhdew96/Axvi4QW94gY9R
      ZTKjfes5QstgMHswNtn8MHIjZBShVCmRzTh04LjC8R3u/hWSvOZZes2+dJIcZOUE
      AMvRRpatVVEb5AzdPRO1QaSHVwKQb+1DxeOWUviVOzp6CkPfmJPeazHRL6QjMZAM
      AW5SCo4WME7Gupx931TxckRhCxDjoC63fz5sZzDB6mZhDZRxJf8HcG0L0sz4oCXr
      hQEOA5Bet+UpglfCEAQAxojHuWKt/kcsdN8wZc4f0IJUU4WWEXWNoXUx+rN2Qkah
      QXNDInfL5U98QkLtiPMLIifkm7YjQtqx0/9Sm8ngpFKb0lkBve/VUt+Z6bRp+2iC
      m1KtBnoml6mYKCg05bRY6jrd2/0iT5sVBEHnaA==
      =jW1T
      -----END PGP MESSAGE-----

ただ，Mutt なら，暗号化したいということを指示してメニューから宛て先の 人の公開鍵を選べば，こうやって暗号化される様子を見なくても メッセイジが送られていく．

ボクはもうあのファイルを見ることは (ボク宛てでないので) できないため， ただ，次の段階の，復号化に必要な手順だけ教えておこう

      gpg --decrypt <暗号ファイル>

パスワードを入力したら，もしそのメッセイジがボク宛ての場合は，復号化され た文章を含んだ新しいファイルが書き出される．

Mutt ならパスワードをとっておけるから，メッセイジは自動的に復号化されて， 暗号化されていたかどうかや，署名が同梱されてたかどうかということを示す短い 文章といっしょに，メッセイジ画面に出てくることになる．

## Mutt を GnuPG 用に設定する

Mutt を GnuPG と合わせて使うためには，Mutt をビルドするときに PGP 機能が コンパイルされている (←デフォルトではそうなっている) 必要がある．それから， キミの (訳注: ホームディレクトリの)「.muttrc」に命令を付け足す (それか， その命令の入ったファイルを読み出させる) ことも必要になる．ボクが使ってい る命令コマンドはこれ

      set pgp_decode_command="gpg %?p?--passphrase-fd 0? --no-verbose --batch --output - %f"
      set pgp_verify_command="gpg --no-verbose --batch --output - --verify %s %f"
      set pgp_decrypt_command="gpg --passphrase-fd 0 --no-verbose --batch --output - %f"
      set pgp_sign_command="gpg --no-verbose --batch --output - --passphrase-fd 0 --armor --detach-sign --textmode %?a?-u %a? %f"
      set pgp_clearsign_command="gpg --no-verbose --batch --output - --passphrase-fd 0 --armor --textmode --clearsign %?a?-u %a? %f"
      set pgp_encrypt_only_command="pgpewrap gpg --batch --quiet --no-verbose --output - --encrypt --textmode --armor --always-trust --encrypt-to 0xC9C40C31 -- -r %r -- %f"
      set pgp_encrypt_sign_command="pgpewrap gpg --passphrase-fd 0 --batch --quiet --no-verbose --textmode --output - --encrypt --sign %?a?-u %a? --armor --always-trust --encrypt-to 0xC9C40C31 -- -r %r -- %f"
      set pgp_import_command="gpg --no-verbose --import -v %f"
      set pgp_export_command="gpg --no-verbose --export --armor %r"
      set pgp_verify_key_command="gpg --no-verbose --batch --fingerprint --check-sigs %r"
      set pgp_list_pubring_command="gpg --no-verbose --batch --with-colons --list-keys %r"
      set pgp_list_secring_command="gpg --no-verbose --batch --with-colons --list-secret-keys %r"
      set pgp_autosign=yes
      set pgp_sign_as=0xC9C40C31
      set pgp_replyencrypt=yes
      set pgp_timeout=1800
      set pgp_good_sign="^gpg: Good signature from"

GnuPG との間に必要な基本的コマンドを別にすれば，この命令は Mutt に，送信 メイルをぜんぶ自動的に鍵 ID 0xC9C40C31 (ボクのだ) で署名して，暗号メイル をそのうえボク宛てに (「送信済み」フォルダへの保存用に) 暗号化して，パス ワードは 30 分間 (訳注: 1800 秒) とっておくようにしろ，と言っている． (訳注: pgp_good_sign 変数は自分の環境に合わせる必要がある．このまま使い たいときは pgp_verify_command などの冒頭を「LANG=C gpg」とすること)

## ぜんぶやってみる

ここまでくれば Mutt は準備ができているはずだ．初めてメッセイジを送るとき には Mutt がキミのパスワードを聞いてくるだろうが，それは中に記憶されて， そのあとの送信メイルはぜんぶ署名されていくことになる．署名されたメイルを 受け取ったときには，Mutt が差し出し人の公開鍵 (必要なら取り出してくれる) で署名を検証してくれる．暗号化するときには (記憶になければ) パスワードが 聞かれて，それから宛て先の人に合うと思われる公開鍵のメニューが出てくる． 最後に，復号化するときのことだが，パスワードが記憶からもう消されてたり まだ入力されてなければ，このときも聞かれることになる．

## さらなる情報へのリンク

- Ｅメイルクライアント Mutt ホームペイジ (The Mutt E-Mail Client Home Page) (http://www.mutt.org/)

- GNU プライヴァシガード (GnuPG) ホームペイジ (The GNU Privacy Guard Home Page) (http://www.gnupg.org/)

- Mutt-i (による?) GnuPG と PGP ハウトゥ (The Mutt-i, GnuPG and PGP Howto) ( http://linuxdoc.org/HOWTO/Mutt-GnuPG-PGP-HOWTO.html)

- 国際化 PGP ホームペイジ (The International PGP Home Page) (http://www.pgpi.org/)

- なぜ暗号を使うべきか (Why You Should Use Encryption) ( http://www.goingware.com/encryption/)

## 貢献者たち

この文書の校正での助力について下記の人たちに感謝したい

- Dave Chapeskie, たくさんの説明，訂正，勧告，そしてセキュリティの小技で

- Thomas Roessler, 正確度と信用度についての，とてもわかりやすい説明で

この文書の新版に組み込もうと思っているが，提案とか反応をくれたことについ て下記の人たちにも感謝したい

- Andrew McDonald

- Rick Moen

- Andy Smith

最後に，ここまで読んできてくれたキミに感謝したい．ありがとう!

## フィードバック

この文書がキミの役に立てたなら嬉しい．もし何か改良する方法があれば教え てくれ．ボクには (訳注: 英語の) メイルで justin@solidlinux.com に連絡をと ることができるが，もちろんキミには暗号を使ってほしい．そのときには， ボクの公開鍵を使うことになるが，それはこの文書のどこかにもあるし， http://solidlinux.com/~justin/pubkey.asc にもある．

&dollar;Id: mutt-gnupg-howto,v 1.8 2001/09/24 03:38:16 justin Exp &dollar;