前々回、メールは暗号化されていない平文でやり取りされているということを述べた。メールサーバーから暗号化して送受信する方法もあるが、途中の経路がすべて暗号化されていない以上、どこかで見られている可能性は否定できない。
では、他人に見られたくない重要な内容をメールでやり取りしたい場合はどうすればよいだろうか? これはメールの暗号化をすれば実現できる。それでは、メールの暗号化が一般的か? というと、まったくと言ってよいほど普及していない。今回はメールの暗号化について考察する。
● メール内容を隠すためには
|
Zenlokの発表会でKevin Mitnick氏が「メールをハッカーが狙う場合のポイントは最低7つある」として使用したスライド。矢印が狙えるポイントだ
|
もしもインターネット上のデータを傍受することができれば、その中身を見るのはさほど難しくない。「インターネットショッピングでは、SSL暗号化のかかっていないページでクレジットカード番号のやり取りをしてはいけない」と言われるのと同じように、メールでクレジットカードのやり取りをすると誰かに見られて悪用される可能性がある。
これを防ぐのがメールの暗号化だが、第8回で書いたように、暗号化には「秘密鍵を使う暗号」と「共通鍵を使う暗号」がある。
ユーザーにとって敷居が低い方法は、共通鍵を使う暗号だろう。つまり、メールをやり取りする相手と事前に暗号のキーを決めておき、何らかの暗号化ツールを使えば、メールの内容を秘匿できる。
暗号化のためのツールは多くあるが、たとえばWindowsユーザーなら必ず使っているであろうZIP形式には暗号化のオプションがあるので、メール本文をテキストエディタなどで作成した後、これを「ZIP」で圧縮・暗号化を行ない、メールにファイル添付というかたちで送ればよい。
ところが共通鍵を使う方法の場合、事前に鍵を決めておく必要がある。これを安全にやり取りするにはどうすればよいだろうか? また、1対1のやり取りならばともかく、複数人でメールをやり取りする場合、共通鍵が誰かから漏れてしまったら安全性は失われる。多数の人とやり取りする場合、それぞれに共通鍵を設定すると管理も大変だ。
● 「相手から公開鍵をもらう」ところから始まるのがメール暗号化のネック
通常のメールソフトに共通鍵を使う暗号化方法が含まれていないのは、メールの暗号化の場合「S/MIME」という公開鍵を使うものが標準だからだ。とはいえ、公開鍵を使うメールを受け取った経験がある人は多くないだろう。筆者もテスト用途以外で公開鍵暗号のメールをやり取りしたことはない。
公開鍵を使う暗号化は、相手が「あなたの公開鍵」で暗号化する。その送られたものを「あなたの秘密鍵」で復号する。公開鍵で暗号化したものは秘密鍵でしか復号できず、秘密鍵で暗号化したものは公開鍵で復号できるというのが公開鍵暗号のポイントで、秘密鍵はあなただけが保持していればよいのだ。
ちなみに、Webでの暗号化、つまりSSL通信の場合は、WebブラウザがHTTPSサーバーの公開鍵を取得し、これにセッションで使う暗号キーを復号してWebサーバーに送信する。このため、ユーザー用の暗号鍵は不要な上、HTTPSのやり取りでサーバーの暗号鍵が取得できるため、ユーザーは誰でもすぐに利用できる。
ところが、メールはやり取りが基本的に一方向だ。つまり、メールを公開鍵暗号で送信する場合、送信前に相手の公開鍵を取得しておく必要がある。つまり相手は事前に「私の公開鍵はコレです」と送信しておく必要がある。つまり、メール送信前に、相手は暗号鍵のペアを取得する必要がある。これが公開鍵暗号をメールに使う場合のハードルの1つだ。
以前は、この暗号化キーを入手するのが面倒くさかった。筆者が以前、メールの暗号化に関する記事を(10年以上前に)書いた時には、暗号鍵を入手するためには当時唯一鍵を配布していたベリサインに手紙で注文し、送金後、キーファイルがフロッピーディスクで届くというシステムで、時間と費用がかかった。メールを送る際に、「暗号化メールでやり取りしたいので(費用はあなた持ちで)キーを取得してください」というのは、よほど業務上の重要データを扱わない限り考えられない。
現在、ベリサインのメール用暗号化キーは、60日限定のテスト版が無償で手に入る。また、英コモド社は、個人用に限り無償のキーを発行している。どちらもWebとメールベースで入手が可能で、ユーザーへの敷居は低くなった。しかし、やはり面倒なことには変わりがない。
その他の方法もある。「情報セキュリティEXPO」でZenlokが発表した「ZenlokEメール暗号化サービス」は、公開鍵を使っているが独自の拡張でセキュリティメールを実現している。
ユーザーは、メールアドレスを登録すると、PCのローカルに秘密鍵、Zenlokのサーバーに公開鍵が生成される。メール送信時は、Zenlokのサーバーから自動的に取得した公開鍵を使ってメールを暗号化。一方、受信時はPCに保存されている秘密鍵で自動的にメールを復号化するという仕組みだ。
現在、一部のメーラー上のクライアントソフトがβ公開されている(現在、顧問のケビン・ミトニックが設立したMitnich Senurity Consultanting LLCでサーバーの脆弱性テストを行っている最中で、クライアントの脆弱性テストはその後に予定されている)。
次回は実際に暗号化キーを入手してやり取りを行なってみたい。
● おまけコラム:「セキュリティどちらを重視する?」
先週、ノートPCを再起動したら事実上使えなくなった。ノートPCに指紋認証でログインすると、指紋登録画面になってしまうのだ。画面を進めると「そのパスポートでは登録できない」と言われ、キャンセルするとログオフして再度ログイン画面になるので、どうにもならない(ユーザー名とパスワードでログインしても同じ症状になる)。ということで、急遽先週末はサブマシンで原稿を書くことになった。
ノートPCの場合、スリープや休止を使う機会が多くなり、起動して使うケースが減ってしまった。となると、なぜそうなったのかの原因がわかりにくい。また、このような場合にシステムの復元で「設定を巻き戻す」ことができるはずだが、数日戻しても改善しなかった。
ところが、非常に幸運なことに4月末の海外取材にあわせ、容量をアップしようと250GB HDDを買ってきて、マイグレーション用のディスクコピーを取ってあった。結局設定の時間が足らず、そのまま放置して出かけたが、こちらは設定がいい加減で起動せず。結局、元の80GBと新しい250GBのHDD内容をあれこれやってなんとか復活させることができた。
何が異常の原因だったのかと言うと、これが「5月の定例アップデート」にあるMS08-028が「引き起こしていたようだ」。他の変更をすべて終えて問題ない状態からMS08-028のパッチを入れたら異常状態になることは確認した。
これは筆者の推論だが、指紋認証でおかしくなるのは指紋認証ソフトがデータベースを使っていて、それがOSが標準で備える「Jetデータベースだったのではないか? と考えている。ただしこの問題が騒ぎになっていない上、状況がはっきりしない時点でレノボのサポートに電話をかけたときに、JetエンジンのDLLファイル「MSJET40.DLL」がらみのアドバイスがなかったので、筆者の環境に依存する可能性も否定できない。
では、どうすればよいだろうか? つまり、指紋認証をやめるかMS08-028を入れないかの2択になる。「Jetエンジンの脆弱性についてのセキュリティアドバイザリを確認する」という記事もあるが、もともとマイクロソフトは、「.MDBはスクリプトなどが実行できる『安全でない種類のファイル』」として、MSJET40.DLLのアップデートをだしていなかった経緯がある。
筆者は「盗まれた時」を考えて指紋認証を優先することにした。ということで、原稿用ノートPCはMS08-028のパッチを適用していない。セキュリティパッチを当てないなんて「紺屋の白袴か?」と言われそうだが、指紋認証抜きとどちらがよいと言われるとちょっと考え込んでしまう「事件」だった。
● 先週の気になったニュース(5/12~5/18)
◆McAfeeが今夏より“安全な検索サービス”提供へ、日本では時期未定 http://internet.watch.impress.co.jp/cda/news/2008/05/12/19516.html
厳格なセキュリティテストに合格したサイトを認証するサービス「McAfee Secure for Web Sites」も予定しているというが、McAfeeはすでに「国際的かつ最高水準のセキュリティ基準に準拠・適合」したという類似サービス「HACKER SAFE」を提供している。
◆オンラインゲームサイト「Lievo」が改竄、ウイルス仕込まれる http://internet.watch.impress.co.jp/cda/news/2008/05/13/19531.html ◆Fujisan.co.jpがサイト改竄、SQLインジェクションでウイルス仕込まれる http://internet.watch.impress.co.jp/cda/news/2008/05/14/19543.html
Webアプリケーションのセキュリティは一朝一夕には改善されないようだ。ここではSQLインジェクションが使われていると予想される。
◆phpBBの脆弱性や設定ミスにより、ユーザーにウイルスをダウンロードさせようとする http://isc.sans.org/diary.html?storyid=4405 http://blog.trendmicro.com/more-than-a-half-a-million-web-sites-compromised/
「phpBB」という掲示板プログラムの古いバージョンや設定ミスを突いて、閲覧ユーザーを外部の(自称)動画サイトに誘導し、(自称)動画コーデックのマルウェアをダウンロードさせようとするサイト改竄が、40~50万あったと発表されている。この動画コーデックを装った「Zlob」は、亜種が極めて多いことで知られている。
◆Gmailにメールを転送し続けるとドメイン丸ごと拒否してしまう http://internet.watch.impress.co.jp/static/yajiuma/2008/05/15/
やじうまWatchでは「POP3で読み取る」ことで解決したと書いてある。確かに有効だが、これを行なうとメールの着信が最大1時間遅れるというのが筆者の実験結果(Gmailが他のPOPサーバーにメールを読み取りに行くタイミングはおおむね1時間に1回)だ。
◆DDoS攻撃による企業への恐喝行為が相次ぐ、ラックが注意喚起 http://internet.watch.impress.co.jp/cda/news/2008/05/15/19560.html
DDoS攻撃を仕掛けて、「止めて欲しければ金を出せ」という手段が、日本にも及んだだけのような気がする。この脅迫が日本語で行なわれたのか、送金先はどこだったのだろうか、犯行グループに日本人は含まれているのか、などが気になった。
2008/05/21 11:31
|
小林哲雄 中学合格で気を許して「マイコン」にのめりこんだのが人生の転機となり早ン十年のパソコン専業ライター。今回のメール編では、後日掲載の記事で使う自動巡回型スパムメールを収集するため、ダミーのメールアドレス「 ktetsuo_itw-080521@yahoo.co.jp 」にメールするとスパムと判定され記事化される可能性があるので要注意。 |
- ページの先頭へ-
|