IPAがAPOP(エーポップ)方式におけるセキュリティ上の弱点(脆弱性)の注意喚起について勧告を出している。APOPのチャレンジ・レスポンスに利用されるMD5ハッシュに脆弱性があり,サーバーに成り済ました悪意ある第三者にパスワードを盗まれる可能性がある,というものだ。IPAではPOP over SSLやウェブメールなどへの移行を勧めている。
いうまでもないが,POP3は古いプロトコルである。もともとのPOP3の規格では,パスワードは平文でネットワーク上を流れていた。そんなことをしても問題にならないほど平和な時代に作られたプロトコルであるとも言える(※1)。のちにパスワードを平文で流すなんてことが許されなくなるとRPOPやAPOPが考案され,結局APOPが主流になったのだけれど,そもそもいつまでPOP3を使うのか。
Solaris 2.6のころだと思うが,SunがIMAPサーバー機能をOSに同梱したことがある(※2)。あのころ,「なぜにIMAP?」というのが僕の疑問だった。せっかくのIMAPサーバー機能だが,まだクライアントがIMAPを十分に実装できていなかった。なにせWinbiffやAlmailが圧倒的なシェアを持っていた頃である。サーバーだけがIMAPを実装していても,まったく使えなかった。結局,qpopperを導入してお客さんに納めていた。
今思えば,Sunの選択はあながち悪いものではなかったと思う。当時,すでに複数のクライアントからメールを読みたいという要求が強くなりつつあり,そのためにはIMAPのほうが適していた。IMAPは最初からメールをサーバー側で保管するように設計されていたからだ。IMAPではクライアントはローカルにメールのコピーを持つ必要はなく,複数のクライアントからメールにアクセスするという用途にはうってつけだった。POP3もUIDLという苦し紛れの - それでも特定の用途には十分に機能した - 解決策を見いだしたが,いかんせん,サーバー側でメールをフォルダに振り分けて管理することができないのが致命的だった。POP3のUIDLは,単にサーバー側に保存されているメールの,一度も読まれたことのないコピーがどこからかを示す機能しかなかった。またPOP3は,サーバー側に保存されているメールを条件検索する機能も備えていなかった。メールを使い始めて数ヶ月もすればサーバーに相当数のメールが溜まる。効率よくメールを検索するための方法がなければ,ユーザーは結局はローカルドライブにメールを保存するしかない(※3)。
IMAPは完全ではない。それでもPOP3よりは使い勝手が良い。自宅のPCがVPNで会社のLANに乗り入れることができるなら,あるいは,会社のIMAPサーバーがDMZ上でサービスを提供しているなら,わざわざ会社のPCを自宅まで持ち運ばなくても自宅でも職場と同様にメールにアクセスできる。サーバー側にフォルダ・ツリーがあるから,POP3のときのように職場と自宅ではメールを振り分けたフォルダが違っていて困るなんてことはない。サーバーに保存されているメールを効率よく探し出すための条件検索も,IMAPではプロトコルに組み込まれている(※4)。
いずれにせよ,IMAPがこれほど広く受け入れられている状況で,POP3を使う必要があるのか?インターネット・プロバイダーのように巨大なユーザー・ベースを持つところは,IMAPにするとユーザーのクォータという問題に突き当たるのでPOP3がいまだにありがたいのかもしれない。が,しかし,Apple は .MacではPOP3ではなくIMAPでサービスを提供しているし,クォータの話をするならば,Google mailやYahoo! Mailはすでにギガバイト単位の容量をユーザーに与えている。
APOPに脆弱性が見つかったからどうというのではないが,そろそろPOP3を「終わらせ」てもいいんじゃないだろうか。
註:
※1
パスワードの保護とは観点が違うけれど,同じくらい古いSMTP/ESMTPのほうはいまだに認証なしで接続を受け付けるのが多い。企業内だとまずSMTP-AUTHにしていないのではないか。
※2