APOP 【Authenticated Post Office Protocol】 Automatic Processing Options Protocol
概要
APOP(Authenticated Post Office Protocol)とは、電子メールの受信に用いる通信規約(プロトコル)であるPOP3において、パスワードを読み取りにくい形式に変換して送信することで安全性を高める方式。通常のPOP(Post Office Protocol)は利用者がメールサーバにユーザー名とパスワードをそのまま送信するため、通信経路上に悪意の第三者がいる場合、容易にパスワードを盗まれてしまうという問題があった。
APOPの仕組み
APOPは「チャレンジ/レスポンス認証」という方式を用いる。まずサーバがランダムに生成したチャレンジと呼ばれる文字列をクライアントに送り、クライアントは手元のパスワードとチャレンジを連結してMD5と呼ばれるハッシュ関数でハッシュ値に変換する。
クライアントはパスワードの代わりにハッシュ値をサーバに送る。サーバはクライアントに送ったチャレンジと手元に保管されたパスワードから同じようにハッシュ値を生成し、クライアントから送られてきたものと一致すれば認証成功、しなければ認証失敗となる。
ハッシュ関数は任意の長さや内容のデータから固定長の文字列を得る関数で、入力値と出力値の間に規則性がなく、出力値から入力値を割り出すことは困難なように設計されている。パスワードのみだとハッシュ値が毎回同じになってしまい総当たり攻撃などに弱くなるが、チャンレジは毎回異なるためハッシュ値も毎回規則性無く変わる。
APOPの問題点
APOPで変換されるのはパスワードのみで、ユーザー名やメール本体は平文のまま送受信されるため、経路途上での盗み見や改竄、すり替えなどを防ぐことはできない。
2007年に偽のメールサーバを用いて効率よくパスワードを解読する攻撃手法が考案され、以降はAPOPによるパスワード保護は危険であるとされている。そもそもMD5自体が現代の強力なコンピュータでは十分安全なハッシュ関数とはみなされなくなっている。
現在ではAPOPのみに頼ったセキュリティ対策は不十分であるとされ、SSL/TLSを併用してPOPによるやり取りを丸ごと暗号化する「POP3S」(POP3 over SSL/TLS)などを用いることが推奨されている。