POPとは

/ネットワーク

POPとは

POP(Post Office Protocol、RFC1939)とは、メールサーバ(POPサーバ)上のメールボックスに貯まった自分宛てのメールを、メールクライアント(POPクライアント)に取り込むためのプロトコルです。

POPがサポートする機能はシンプルで、ユーザの認証、メールボックスに届いたメールの情報取得、メールの取り込みと削除などです。

現在はバージョン3(POP3)が主に使われており、バージョン1とバージョン2とは互換性はありません、そのため、以下はPOP3に限定して話しを進めます。

通信手順

POPでは、POPサーバに接続した後、3種類の状態を遷移することで手続きを行います。

  • AUTHORIZATION状態
    POPサーバに接続完了後の状態です。クライアントの認証が行われ、認証が成功すると、対象となるメールボックスが決定されます。
  • TRANSACTION状態
    クライアントの認証完了後の状態です。メールボックスの処理を行うことができます。
  • UPDATE状態
    QUITコマンドの発行後の状態です。消去マークが付けられたメッセージの削除とセッションの切断が行われます。

POPクライアントがコマンドを送り、それに対しPOPサーバがレスポンスを返す形でやり取りが行われます。

POPクライアント 方向 POPサーバ

POPサーバへ接続(Connected to -)


オープニングメッセージを応答
接続はTCPの110番ポートに対して行います。接続完了後はAUTHORIZATION状態に入ります。

クライアントの認証情報[APOP]


認証情報の確認
クライアントの身元が確認できたら、確認の応答を行い、TRANSACTION状態に入ります。

情報取得[SAT/LIST/UIDL]


情報の送信
メールボックスに溜まったメールメッセージの数やサイズを取得します。

メールメッセージの取得[RETR]


メールメッセージの送信
メールメッセージを番号を取得して、メールメッセージを取得します。複数ある場合は、複数回繰返します。

メールメッセージの削除[DELE]


確認を応答
不要なメールメッセージに消去マークを付けます。消去マークを付けたメールメッセージは、UPDATE状態に遷移した特に削除されます。

切断を要求[QUIT]
確認を応答

(メールメッセージの削除実行)
切断
TRANSACTION状態を終了してUPDATE状態に遷移します。

尚、QUITコマンドでなく、タイムアウトでセッションが終了する場合は、UPDATE状態にはならず、メッセージの削除は行われません。

POPコマンド

POP3では、メールメッセージの取得や情報の確認などの操作を、コマンドによって行われます。尚、右側の列の「A」はAUTHORIZATION状態、「T」はTRANSACTION状態、「U」はUPDATE状態で使用可能であることを表します。

コマンド 説明 A T U
USER 基本認証を行う際のユーザ名の指定(オプション)    
PASS 基本認証を行う際のパスワードの指定(オプション)    
APOP APOP認証を行う。引数としてユーザ名とMD5ダイジェストを渡す(オプション)    
STAT メールメッセージの数や全体のサイズなど、メールボックスに関する情報取得    
LIST メッセージサイズなどの、メッセージに関する情報取得    
UIDL メッセージのサーバ固有に一意な識別子(Unique ID)のリストアップ(オプション)    
RETR メッセージ番号を指定してメッセージの取得    
TOP メッセージボディを指定行数取得(オプション)    
DELE メッセージの消去マークの付加。DELEを実行しても直ぐには削除されない    
RSET メッセージの消去マークの解除    
QUIT 切断の要求  
NOOP 何もしない    
拡張コマンド

POP3で追加されたコマンドは以下になります。

コマンド 説明 RFC
XTND XTNDコマンドに拡張機能名を渡すことで拡張コマンドとして機能する。 RFC1082
AUTH AUTHコマンドの引数に認証機構名を渡すことで、認証機構の利用が可能。 RFC1734
STSL TLSプロトコルの利用することで、TSLによる暗号化が行われる。 RFC2595
CAPA 拡張サービス名、オプションコマンドなどの拡張機能のリストアップ。 RFC2449

APOP認証

APOP(Authenticated POP)認証とは、POPのクライアント認証の際に、パスワードを平文で送らなくするための仕組みです。USERコマンドとPASSコマンドによる認証では、パスワードを平文で送るため、盗聴のリスクがあります。

APOP認証では、サーバから送られてきた一意な文字列と、元のパスワード(共有鍵)を組み合わせてMD5ダイジェストという文字列を生成し、これをAPOP認証のパスワードとして使用します。

POPクライアント 方向 POPサーバ
オープニングメッセージで一意な文字列を送付
MD5ダイジェストを計算 MD5ダイジェストを計算
MD5ダイジェストを送信 両方のMDダイジェストが一致すれば認証完了
認証

尚、APOP認証のパスワードは平文で送信されますが、MD5ダイジェストから元のパスワードを導き出すことはできないため、盗聴されても元のパスワードが漏れることはありません。

 

IT
マネジメント、セキュリティ、ネットワーク、システム
散策路TOP
数学、応用数学、古典物理、量子力学、物性論、電子工学、IT、力学、電磁気学、熱・統計力学、連続体力学、解析学、代数学、幾何学、統計学、論理・基礎論、プラズマ物理、量子コンピュータ、情報・暗号、機械学習、金融・ゲーム理論

 

タイトルとURLをコピーしました