平成14年2月11日
平成14年5月21日: 注を追記
間宮章彦*1 荒川健介*2 市川快*2
岩手県立大学大学院ソフトウェア情報学研究科*1
岩手県立大学ソフトウェア情報学部*2
本稿の目次は以下の通りである.
Windows環境では,Outlook Express6,Becky!2 ,Eudora5といったメーラでのPGP/GnuPGの特徴を報告する. またMacintosh環境ではOutlook Express6, Eudora5およびMacOSXに標準のメーラについて報告する.そして,UNIX上やEmacs上のメーラについても同様に報告をおこなう.
メーラはPGP,GnuPGといったデータを暗号化するアプリケーションを用いることにより電子メールの暗号化を実現している. 電子メールで暗号化したデータを送る場合,暗号化および署名とメールの送信とをそれぞれ別々におこなう方法もあるが,本節ではRFC3156に定義されているPGP/MIME[2]によって提案されているOpenPGPとメールの統合環境の実現について評価する.
PGPでは,製品版・無料公開版ともにOutlook, Outlook Express, Eudora, Lotus Notes/Dominoといったメーラごとのプラグインが用意されている. また,メーラによってはメーラ自体がPGPに対するプラグインを標準で備えていたり,第三者がプラグインを公開しているのでこれを利用できる.
GnuPGには,メーラごとのプラグインは付属していない.しかしながら第三者が特定のメーラのプラグインを公開しているので,メーラによってはGnuPGを利用可能である.
Becky!2 ではメーラがPGP6.x用のプラグインを用意している[17].また,GnuPGに対応するプラグインは第三者が公開しているBkGnuPG[16]を利用することができる.
Eudora5ではPGPに付属するプラグインが利用できるが,筆者がおこなった実験では日本語処理が正しくおこなわれなかった. このように,プラグインでの日本語処理に関してはメーラによってかなり動作が異なるという問題がある.
メールに暗号化/署名を施して送信する場合のデータの流れを図1に示す.
暗号化/署名されたメールを受信して復号/検証する場合のデータの流れを図2に示す.
MacOS 9までの環境で動作するOpenPGPの実装は,Network Associates, Incが製品版および無料配付版を提供しているPGPのみである.また,PGP/MIMEに対応しているメーラは,EudoraのみでOutlook Expressは対応していない.PGP freeware側で用意しているプラグインも,Mac版ではEudora用のものだけである.よって,事実上,MacOS9まではPGP/MIMEで提案された方式にしたがってメールのやり取りができる環境はPGP freewareとEudoraの組み合わせだけになり,ユーザの選択肢がUNIX, Windowsといったプラットフォームと比べると少ない.また,PGP freewareバージョン7.0.3とEudoraの組み合わせでは,筆者がおこなった実験で日本語処理が正しくおこなわれなかった.
MacGPGは,パッケージで配布されている. また,OSに付属する標準メーラが,MacGPGを利用して暗号メールの送受信を実現しているGPGMail[21]というプラグインが第三者により公開されている. GPGMailは,MenuやDialogの日本語表記や文字コードの一部正規化 をおこなったバージョンが第三者によって公開されている[22].
OS XはUNIXベースのためMewなども動作するが,GUI(グラフィカル・ユーザインタフェース)ベースでの操作を考えると, 2002年2月現在のところ,MacGPG+標準メーラ+GPGMail(注1)の組み合わせに代わるソフトウェアは無い.
注1: 参考文献[22]で配布しているGPGMail 0.5.2(v13)に日本語化パッチ(p3)をあてたもの
GnuPGプロジェクトでは,アプリケーションからGnuPGの機能を 呼び出すためのライブラリ`GnuPG Made Easy'(GPGME)の開発を2001年から開始している. GPGMEは暗号化から鍵管理におよぶセキュリティAPIを提供するライブラリで, すでにいくつかのUNIX上のメーラ開発に影響を与えている. 従来のメーラは専らGnuPGコマンドを起動していたが, GPGMEが整備されれば,メーラは 統一的なAPIを用いてGnuPGの機能を利用することが 考えられる. 2002年2月現在はGPGMEはアルファ版だが, すでにUNIX上の幾つかのメーラがGPGMEをとりいれはじめている.
日本語環境でOpenPGP準拠メーラを利用する場合に,暗号化したメールを受信し,正しく復号しても,文字化けをおこすことがある.まずこの問題についての評価をおこなう.
そこで,テキスト・データを暗号化したり,署名を施す前に,行末をある決められた文字列に変換する必要がある.復号や署名検証の際には逆の変換が必要となる.この行末を表す文字列には,RFC2822[5]で定められた行末であるCRLFを使うことになっている.
RFC 1847[18]では配送の際の文字コードを正規化することが決まっており, ISO-2022-JPが正規型となる.つまり,電子メールでPGPの日本語テキスト・デー タをやりとりするには,どんなOSでもあらかじめ文字コードをISO-2022-JPに 変換し,行末をCRLFに直す必要がある.このため日本語に対応したほとんど全 てのメーラは,自動的に文字コードをISO-2022-JPに変換(正規化)し,行末をCRLFに直 す.これは実際に送信されるときにおこなわれることが多 いので,正規化の前に暗号化や署名してしまうと問題が起きる.
ソースネクスト株式会社が商品として販売しているPGP(PGP Personal Privacy Ver.6.5.8J)は,PGP自体のメニュー・ダイアログ・メッセージの日本語化と特定のメーラの日本語対応プラグインが含まれる[9].これは費用がかかるのが難点である.
個人ユーザがWindows用のPGP freewareを文字列をISO-2022-JPで処理するように改造したPGP 6.5.1iの日本語化パッチプログラムが公開されている[8].2002年2月現在,最新版の6.5.8/7.1.1には未対応である.また,日本語文字コード以外のコードが扱えなくなる問題があらたに発生するために,文字コード問題を解決したとは言えない.
以上のように,Windows環境でPGP/GnuPGを用いて日本語でメールをやりとりするには,プラグインを用いてメーラごとに対応する方法,PGP自体 を日本語化し,PGPで対応する方法,メーラとメールサーバを中継する際に暗号化/署名・復号/検証をおこなうという3つの方法がある.
これら3つの方法を比較するとメーラに依存しないGPGrelayを使った方が 移行コストや教育コストが少なくできると考えられ,推奨できるだろう.しか し,GPGrelayはその特徴から送信側と受信側のローカルディスクに平文のデー タが残るという問題があるので,その点について通常のGnuPGとは 異なる注意が必要である.
| 実験環境A | 実験環境B | 実験環境C |
実験環境D | |
| OS | Vine Linux 2.1.5 | Windows2000 | Windows2000 | Windows2000 |
| メーラ | Mew 2.1 | Becky! 2.00.08 | Eudora 5.0.2-Jr1 | Outlook Express 6 |
| 暗号化アプリケーション | GnuPG 1.0.6 | GnuPG 1.0.6 | GnuPG 1.0.6 | GnuPG 1.0.6 |
| ツール | GPGrelay 0.82 | GPGrelay 0.82 | GPGrelay 0.82 |
実験結果を図3に示す.“◎"は問題なく利用できたことを示す.“△"は暗号化し,署名をおこなった場合に検証は正しくおこなわれたが,復号されなかったことを示す.どの組み合わせでも暗号化だけをおこなった場合や署名だけをおこなった場合は問題がなかった.

このようにUNIX上のメーラであるMewと,GPGrelayと組み合わせて使った複数のWindows上メーラ間で,暗号化または署名だけをおこなう場合には相互接続性があった.しかし,Mewで暗号化した後に署名をしたメールを,GPGrelayとWindowsメーラを組み合わせた環境で受信した場合に,署名の検証は正しくおこなわれたが,復号されないという問題点がある.
また,日本語化されたGPGMail(注3)では,Windowsから送られてきた暗号メールの復号ができないという問題が発生した.日本語化されないオリジナルのGPGMailでは復号は出来るが,日本語の入力ができなかった.
注2: 表1に示したUNIXおよびWindowsの実験環境
注3: 参考文献[22]で配布しているGPGMail 0.5.2(v13)に日本語化パッチ(p3)をあてたもの
Mewと他のメーラとの間で発生した問題については, PGP/MIMEの処理において相違がある可能性があるが,今回の実験では原因を 特定できなかった. 今回はUNIXでの評価用メーラとして Emacs上のMewを用いたが,Mewとのやりとりで一部発生した問題については, Mewとは異なるUNIXメーラ,たとえば GPGMEをとりいれたSylpheed[25]などを加えてさらに検証を行なう必要があると考えられる.
企業が製品として日本語化しているものもある.PGP 6.5.3, PGP 6.5.8はソースネクスト株式会社[9]と日本ネットワークアソシエイツ株式会社が日本語化して製品として発売している.しかし日本ネットワークアソシエイツ株式会社はPGP Security ビジネスの再構築に伴い,2001年10月15日をもって販売を終息している[10].よって,現在は日本語商用版のPGPはソースネクスト株式会社からのみ購入ができる.
GnuPGは,ソースコードには日本語メッセージが収録されているが,Windows環境ではメニューやダイアログが日本語化されない.これはWindows上ではソースコードからの構築が難しいために英語1種類のバイナリしか配布していないためである.
MacOS XにGnuPGを移植したMacGPGでは,次に述べるUNIX版のGnuPGと同様に,ソースコードからコンパイルする際の指定でメッセージ表示を日本語その他の言語から選択できる. MacOS X標準メールへのアドオンである GPGMail(注4)は,メニューなどが日本語化されているが,エラーメッセージは日本語化されていない.
注4: 参考文献[22]で配布しているGPGMail 0.5.2(v13)に日本語化パッチ(p3)をあてたもの
GnuPGは本来CUI環境のみを提供しているが,フロントエンドであるWinPT(WinPT Version 0.5.0)[12]を用いることによりGUIで操作ができる.
MacOS Xでは,GPGMailを用いた標準メーラでの送受信は, すべてGUI環境でおこなうことが出来る. しかし,MacGPGでの鍵の生成や管理などの基本操作は, コマンドラインからおこなう必要がある.
歴史的に,UNIXでは長らくコマンドラインで操作をおこなうCUIのPGPおよびメーラが普及してきた.このCUIはもともと2400bpsといった低速シリアル接続でも動作するように設計されたために,キャラクタ1文字でコマンドを操作するものが多い[14, TkPGP Documentation].しかしながら現在の回線状況ではGUIのオーバーヘッドは問題にならなくなるにつれて,今後のキャラクタ1文字の操作を習得するよりもよりコストが少ないGUIでの操作がUNIXユーザに普及すると考えられる.
そして最終的には,双方の利点を生かし,キーボードからもキャラクタ1文字で操作ができると同時にGUIからも操作できるインタフェースが主流になると考えられる. そのような設計がなされているものとして,Sylpheed[25]をあげることができる.
ただし,GUIで操作できればPGPを使えるようになるというわけではない.Alma Whitten と Doug Tygar は NAI(当時はPGP社製)のMacintosh用PGP 5.0のGUIについて評価をおこなない,そのデザインがセキュリティ機能を使いにくくしていると結論している[23]. 指摘された問題点の中にはPGP6.0以降で解消されたものもあるが,GUIで操作すれば使いやすくなるわけではないことをこの研究は示唆している. この点については,GNU Privacy Handbook[26]の「ユーザーインターフェースの作成」の節に詳しい説明がある.
[2] M. Elkins, D. Del Torto, R. Levien and T. Roessler, "MIME Security with
OpenPGP",
RFC 3156, August 2001. (Updates RFC2015) (Status: Proposed Standard)
[3] dynacore(Andreas John), GPGrelayの配布ページ,
http://sites.inka.de/tesla/gpgrelay.html
(最終アクセス 2002年1月11日)
[4] Simson Garfinkel 著 山本和彦 監訳 株式会社ユニテック 訳:PGP 暗号メールと電子署名, pp.369-372, O'Reilly Japan.(1996)
[5] P. Resnick, Editor. , "Internet Message Format", RFC2822, April 2001. (Obsoletes RFC0822) (Status: Proposed Standard)
[6] Galvin, J., Murphy, G., Crocker, S., and N. Freed, "MIME Object Security Services", RFC 1848, October 1995.
[7] 山本和彦, Mew Official Homepage, http://www.mew.org/
(最終アクセス 2002年1月11日)
[8] 橋谷政悟, PGP日本語版, http://www.hizlab.net/pgp/
(最終アクセス 2002年1月11日)
[9] ソースネクスト株式会社, PGP Personal Privacy Ver.6.5.8J http://www.sourcenext.com/products/tetsu_sec/
(最終アクセス 2002年1月11日)
[10] Networks Associates Technology, Inc., PGP製品統合について, http://www.nai.com/japan/company/pgp-integrated.asp
(最終アクセス 2002年1月11日)
[11] ハリー小野: Mac Clinic PGP 7.0.3 日本語化キット,
http://www.02.246.ne.jp/~yingming/macclinic/Drug/yakkyoku.html
(最終アクセス 2002年1月11日)
[12] Timo Schulz, Windows Privacy Tray, http://www.winpt.org/
(最終アクセス 2002年1月11日)
[13] Anthony E. Mulcahy, Jos Carlos Garc Sogo and Steffen Zahn, Seahorse home
page,
http://seahorse.sourceforge.net/
(最終アクセス 2002年1月11日)
[14] Max Valianskiy, Gnome PGP and TkPGP Home Page, http://www.geocities.com/SiliconValley/Chip/3708/index.html
(最終アクセス 2002年1月11日)
[15] Masanori Takahashi, PGP付属のプラグイン動作状況, http://www.cla-ri.net/pgp/plugin.html
(最終アクセス 2002年1月11日)
[16] Yasuhiro ARAKAWA, GNU Privacy Guard Plug-in for Becky! 2,
http://hp.vector.co.jp/authors/VA023900/gpg-pin/
(最終アクセス 2002年1月11日)
[17] RimArts, Inc., Becky! Internet Mail,
http://www.rimarts.co.jp/becky-j.htm
(最終アクセス 2002年1月11日)
[18] J. Galvin, S. Murphy, S. Crocker, N. Freed., "Security Multiparts for MIME: Multipart/Signed and Multipart/Encrypted.", RFC1847, October 1995.
[19] Apple Computer, inc: Cocoa, http://developer.apple.com/cocoa/index.html
(最終アクセス 2002年1月11日)
[20] Gordon Worley: Mac GNU Privacy Guard, http://macgpg.sourceforge.net/
(最終アクセス 2002年1月11日)
[21] Stephane Corthesy: GPGMail,
http://www.sente.ch/software/GPGMail/index.html
(最終アクセス 2002年1月11日)
[22] Tomio: GnuPG暗号化メールをMacOSXで使おう (GPGMailの日本語版を配布),
http://www.max.hi-ho.ne.jp/tomio-a/index_GnuPG.html
(最終アクセス 2002年1月11日)
[23] Alma Whitten and Doug Tygar: "Why Johnny Can't Encrypt: A Usability
Evaluation of PGP 5.0", Proceedings of the 9th USENIX Security Symposium. August 1999.
http://www.usenix.org/publications/library/proceedings/sec99/full_papers/whitten/whitten.ps, more
delailed presentation is available from http://reports-archive.adm.cs.cmu.edu/anon/1998/abstracts/98-155.html.
(最終アクセス 2002年1月11日)
[24] Kmail - the KDE mail client.
http://kmail.kde.org/.
(最終アクセス 2002年1月11日)
[25] 山本 博之, Sylpheed - a GTK+ based, lightweight, and fast e-mail client -.
http://sylpheed.good-day.net/.
(最終アクセス 2002年1月11日)n
[26] Free Software Foundation, GNU Privacy Handbook.
http://www.gnupg.org/gph/en/manual.html#MODULES.
日本語訳: http://members6.tsukaeru.net/kusimken/dir18/gph/#AEN581 .
(最終アクセス 2002年1月11日)
本ドキュメントは,GNU Free Documentation License 1.1(GNU フリー文書 利用許諾契約書)の条件下で自由に利用可能である. 詳細については http://www.gnu.org/copyleft/fdl.html から入手可能である.