ホッテントリメーカで77usersです.ちょっとメールのセキュリティについて,軽く説明してみようかと思います.ちなみに,spamメールについては一切触れる予定はありませんので,あしからず.
・パスワードを守るAPOP
メールを受信するためのプロトコルとして,POP3があります.POP3とはPost Office Protocol version 3の略でして,メールサーバからメールを取り出すためのプロトコルです.メールを取り出すプロトコルですので,誰でも彼でも使えてしまっては,自分宛のメールを他人に読まれてしまいます.そのため,メールを取り出す際の認証が必要になる.しかしながら,POP3は認証時のパスワード暗号化を提供しません.これはつまり,パスワードが平文で流れることを意味します.HTTPでいうところの,Basic認証に相当します.そのため,通信路上で盗聴が行われるとパスワードはばれてしまいます.これは結構イヤな感じです.イヤな感じですが,HTTPではBasic認証が未だに用いられていることを考えれば,大した差はないといえば無いような気がしますが・・・.
さて,そんなパスワードが平文で流れてしますPOP3の認証を安全にするプロトコルがAPOPです.APOPについては杜撰な研究者さんが書かれているので,まま引用.
APOP とはAuthenticated POP のことで、POP のようにパスワードを生でやりとりするのではなく、APOPサーバから送られたチャレンジ(乱数)に対し、ユーザはチャレンジとパスワードの連接のハッ シュ値をサーバに送り返すことで、安全なパスワード認証を実現しています(ただしメイル本文は平文のままです)。
杜撰な研究者の日記: APOP
ここで説明されているとおりです.つまり,HTTPでいうところのDigest認証に相当します. APOPによって,パスワードが平文で流れることがなくなることはお分かり頂けると思います.これで安心!ではないんです.昔はこれで安全だったんですが,APOPに用いられているハッシュ関数であるMD5の危殆化によってパスワードが復元されるという攻撃を受けてしまいます.このAPOP上におけるMD5コリジョン攻撃はLeurentやSasakiらによって,ほぼ同時期に行われているという話も,杜撰な研究者さんが詳しくされているので,繰り返しません.この問題に対して,2007年の話になりますが,IPAは以下のような注意喚起を行っています.
独立行政法人 情報処理推進機構(略称:IPA、理事長:藤原武平太)は、メールの受信に利用される認証方式の一つであるAPOP(エーポップ)方式におけるセキュリティ上の弱点(脆弱性)に関する注意喚起を2007年4月19日に公表しました。
(中略)
プロトコル(通信手順)上の問題であり、現時点で根本的な対策方法はありません。
回避方法は「『POP over SSL』や『ウェブメール』など、SSLによる暗号化通信を利用する」ことです。回避方法が取れない場合「メールのパスワードを他のシステムのパスワードと同一にしない」ことで悪用された際の被害を軽減できます。
情報処理推進機構:情報セキュリティ:脆弱性関連情報取扱い:APOP方式におけるセキュリティ上の弱点(脆弱性)の注意喚起について
ということで,APOPはパスワードを通信路上に平文で流すことなく認証が可能なプロトコルですが,ハッシュ関数の危殆化によって,その安全性に問題が発生したのでした.
・通信路ごと暗号化してしまえPOP over SSL
そこで,次の話です.IPAでも回避方法としてあげている,over SSLです.これは簡単で,POPをSSL化してしまえ,えいや!というものです.これをPOP over SSLといいます.POPSと呼ばれることもありますが,一般的かどうか・・・.これはHTTPでいうところのHTTPSに相当します.これは最早,SSLで通信路が暗号化されますので,パスワードが平文で流れる云々もなにも,メール本文すらも暗号化されて通信路を流れます.当然,SSLの安全性に依存します.POP3やAPOPに比べて,POP over SSLが如何に安全になるかは,@ITの表がわかりやすいと思います.これで,通信路上での盗聴の問題は解決しました.
とは問屋が卸さない.やはり同様にして,MD5コリジョン攻撃の問題がやってきました.先日書いた,MD5なSSL証明書の問題です.SSL証明書の問題は残りますが,これは別に,POP over SSLに特化した話ではなく,SSL全般の話なので,詳しくは触れません.そういうことがあるという話だけ.
ちなみに,IPAの回避方法でも述べられていますが,案外Webメールは安全です.通信路がSSLで暗号化されている的な意味で.GmailならHTTPSで接続されると思います.注意しないとHTTPで通信してたりするけど.素のPOP3やAPOPを使うくらいなら,HTTPSなWebメールの方がいいかもしれません.HotmailとYahooメールはSSLにならないなぁ・・・.優しくないなぁ・・・.
・こうしてメールのセキュリティは確保されました?
これで,クライアント-サーバ間の通信路の安全性は守れられました.パスワードも安全そうです.良かった良かった.で終わらないから,このエントリを書いているんです.では,どこがダメなのでしょうか?クライアント-サーバ間が安全になったにも関わらず・・・.
そうです.サーバ-サーバ間の通信が安全ではありません.もっと言えば,サーバが安全ではないかもしれません.そうです.APOPでパスワードの安全性は確保されますが,メール本文の暗号化はされません.POP over SSLは通信路上において,メール本文も暗号化されていますが,メールサーバ上では暗号化されていません.これは何を意味するかと言えば,サーバ-サーバ間の通信においては,メール本文が平文で流れていること,そして中継に利用されたメールサーバはメール本文を平文で見ているという点です.厳密には,普通のテキストが流れているわけではなく,BASE64などのエンコードがかかった状態で流れていますが,符号化は暗号化ではないので,平文と考えて問題がありません.
つまり,メール本文は暗号化しない限り,平文で流れます.メール本文は暗号化しない限り,平文で流れます.重要なことなので,2回書きました.
・メールを暗号化するPGPとS/MIME
メール本文を暗号化しない限り,安全にならないのであれば,暗号化すれば良いんだ.簡単なことです.そのソリューションを提供するのが,PGPとS/MIMEです.PGPはPretty Good Privacyの略で,公開鍵暗号方式を用いていますが,Web of Trustと呼ばれる仕組みによって,信頼を得る方式になっています.対して,S/MIMEはSecure/MIMEの略で,公開鍵基盤(PKI)アプリケーションです.この2つの方式の大きな差は,公開鍵の信頼性をどのように保証(確認)するかという違いです.この2方式の差も,今回書きたいこととは直接関係がないので,詳解は避けます.
結論だけ言いますと,PGPやS/MIMEを利用することで,メールを暗号化することができます.それだけではなく,ディジタル署名を付けることもできます.これによって,盗聴の脅威を防ぐだけではなく,メール本文の改ざんを防ぐこともできますし,送信者の否認を防止することができます.こうして,メールは安全になりました.
はて?あなたは今までに1度でも,PGPやS/MIMEによって暗号化されたメールを受け取ったことがありますか?無いのではないでしょうか.ボクは学生時代に「試して見たがり衝動」で,PGP暗号化/署名を試しています.S/MIMEも第四種オレオレで良ければ,院生時代に試しています.でも,それだけです.「試してみた」レベルです.何故,このようなセキュリティソリューションが利用されないのでしょうか?300字以内で答えなさい(配点:70).
ちなみに,電子メールに署名を付ける人は少なからずいます.これはメール送信者のセキュリティ意識の高さを示していると言えるでしょう.しかしながら,何故かそのような人においても,暗号化されたメールは送ってきません.何故なのでしょうか?200字以内で答えなさい(配点:30).
ちなみに,MUFGのメールにはS/MIMEの署名がついています.Gmail S/MIMEというFx用のアドオンを導入すると,簡易的ながらGmail上で署名を検証できます.
まとめ:
POP3ではパスワードが平文で流れます.APOPはそれを防ぎますが,安全ではなくなりました.POP over SSLはクライアント-サーバ間の通信をSSLによって暗号化するので,安全です.しかしながら,クライアント-サーバ間以外の通信に保証がないので,暗号化されていないメールは中継中に盗聴可能です.そのため,PGPやS/MIMEでメールを暗号化すると良いです.
何が書きたかったかっていうと,2点です.内部ではPOP3でメールが運用されています.外部からはVPN接続しないとダメなので,このネットワーク構成は安全です.っていうのは,安全ではありません.敵は外からのみ来るのではなく,内部にも存在し得ます.逆内弁慶はセキュリティ上,安全ではありません.
もう1点はGmailを否応なしに毛嫌いする人です.Googleは個人情報を集めまくっている.きっとメールも覗かれているに違いない.その証拠にメールの内容に合った広告が出るじゃないか!という主張.これ自体はその通りでしょうが,だったら平文でメールを流さないで下さいといいたい.Gmailを使わないとしても,中継サーバがメールの中身を見ていないとは限らない.Gmailだからというのはリスクの差を生みません.