バックナンバー
■
その116「DLNAの仕組み」
[2007/03/26]
■
その115「ドメインとActive Directory」
[2007/03/19]
■
その114「ワークグループができること」
[2007/03/12]
■
その113「WPSの仕組み」
[2007/03/05]
■
その112「Gopherの生い立ちと現在」
[2007/02/26]
■
その111「Wikiの使われ方」
[2007/02/19]
■
その110「文字コードとは」
[2007/02/05]
■
その109「IISの生い立ち」
[2007/01/29]
■
その108「NASの登場と一般への普及」
[2007/01/22]
■
その107「HomePNAのいろいろ」
[2007/01/15]
■
その106「Ogg Vorbisの成り立ち」
[2006/12/25]
■
その105「MIDIの原理とSMFの構造」
[2006/12/18]
■
その104「AIFFの構造」
[2006/12/11]
■
その103「WAVの構造と現状」
[2006/12/04]
■
その102「WMAの歴史」
[2006/11/27]
■
その101「AACの特徴」
[2006/11/20]
■
その100「MP3/MPEG Audioの仕組み」
[2006/11/13]
■
その99「HSDPAの仕組み」
[2006/11/06]
■
その98「H.264・MPEG-4 AVCの特徴」
[2006/10/30]
■
その97「IEEE 802.16e(モバイルWiMAX)の特徴」
[2006/10/23]
■
その96「TIFFの特徴」
[2006/10/16]
■
その95「PNGの現状と今後」
[2006/10/02]
■
その94「GIFの構造」
[2006/09/25]
■
その93「10GBASEの種類(2)」
[2006/09/11]
■
その92「10GBASEの種類」
[2006/09/04]
■
その91「GbEのいろいろ」
[2006/08/28]
■
その90「JPEGの特徴」
[2006/08/21]
■
その89「DivXの広がり」
[2006/08/07]
■
その88「MPEGの仕組み」
[2006/07/31]
■
その87「WMVのこれまで」
[2006/07/24]
■
その86「AVIの生い立ちとそのコーデック」
[2006/07/10]
■
その85「QuickTimeの変遷」
[2006/07/03]
■
その84「Realのこれまでと今後」
[2006/06/26]
■
その83「ShareとWinny」
[2006/06/19]
■
その82「DOCSISの仕組み」
[2006/06/12]
■
その81「SQLインジェクションの流れ」
[2006/06/05]
■
その80「RSSの動作」
[2006/05/29]
■
その79「Skypeの仕組み」
[2006/05/22]
■
その78「BitTorrentの特徴と今後」
[2006/05/15]
■
その77「Winnyの仕組みと現状」
[2006/05/08]
■
その76「WinMXの特徴」
[2006/04/24]
■
その75「Gnutellaの歴史と構造」
[2006/04/17]
■
その74「Napsterの歴史」
[2006/04/10]
■
その73「P2Pのいろいろ」
[2006/04/03]
■
その72「IEEE 802.11nの動向」
[2006/03/27]
■
その71「ActiveX Scriptingの動作」
[2006/03/20]
■
その70「Ajaxの仕組み」
[2006/03/13]
■
その69「DHTMLの動作」
[2006/03/06]
■
その68「Scriptの定義」
[2006/02/27]
■
その67「JavaScriptの仕組み」
[2006/02/20]
■
その66「Javaの動作」
[2006/02/13]
■
その65「RFCのプロセス」
[2006/02/06]
■
その64「ActiveX DocumentとActiveX Controlの違いと共通点」
[2006/01/30]
■
その63「ActiveX Controlの機能」
[2006/01/23]
■
その62「ActiveXを構成するもの」
[2006/01/16]
■
その61「Cookieの仕組みと用途」
[2005/12/26]
■
その60「malwareとその分類」
[2005/12/19]
■
その59「rootkitの動作」
[2005/12/12]
■
その58「CSSの役割」
[2005/12/05]
■
その57「HTMLの変遷」
[2005/11/28]
■
その56「PONとその種類」
[2005/11/21]
■
その55「FWAの仕組み」
[2005/11/14]
■
その54「DoSとDDoS」
[2005/11/07]
■
その53「SNMPとMIBの動作」
[2005/10/03]
■
その52「Jumbo Frameとフレームサイズ」
[2005/09/12]
■
その51「WPA2の仕組み」
[2005/09/05]
■
その50「WPAとWPA-PSKの違い」
[2005/08/29]
■
その49「WPAの仕組み」
[2005/08/22]
■
その48「WebDAVの動作」
[2005/08/08]
■
その47「OFDMAの仕組みとOFDMとの違い」
[2005/08/01]
■
その46「OFDMの仕組み」
[2005/07/25]
■
その45「WiMAXの特徴」
[2005/07/11]
■
その44「Wi-Fiの役割」
[2005/07/04]
■
その43「FTPの目的と動作」
[2005/06/27]
■
その42「UPnPの動作」
[2005/06/20]
■
その41「ネットマスクの仕組み」
[2005/06/13]
■
その40「ARPの機能」
[2005/06/06]
■
その39「DNSの原理」
[2005/05/30]
■
その38「デフォルトゲートウェイの役割」
[2005/05/23]
■
その37「MACアドレスの仕組み」
[2005/05/16]
■
その36「スイッチとその進化」
[2005/05/09]
■
その35「ルータによるメリット」
[2005/04/25]
■
その34「ブリッジの原理」
[2005/04/18]
■
その33「リピータの機能」
[2005/04/11]
■
その32「IPアドレスのクラス」
[2005/04/04]
■
その31「ブロードキャスト/マルチキャスト/ユニキャスト」
[2005/03/28]
■
その30「SMTP AUTHと認証の種類」
[2005/03/14]
■
その29「Submissionポートとスパムメール対策」
[2005/03/07]
■
その28「Outbound Port25 Blockingとは」
[2005/02/28]
■
その27「PGPの仕組み」
[2005/02/21]
■
その26「PKIと認証局」
[2005/02/14]
■
その25「公開鍵暗号方式とは」
[2005/02/07]
■
その24「共通鍵暗号とは」
[2005/01/31]
■
その23「SSHの仕組みと応用」
[2005/01/24]
■
その22「SSLの役割」
[2005/01/17]
■
その21「POP3とIMAP4の違い」
[2004/12/27]
■
その20「POP3の役割と機能」
[2004/12/20]
■
その19「SMTPの機能と問題点」
[2004/12/13]
■
その18「SPIとパケットフィルタリング」
[2004/12/06]
■
その17「LANの概念とその広がり」
[2004/11/29]
■
その16「SIPの役割」
[2004/11/15]
■
その15「プロキシの利用」
[2004/11/08]
■
その14「VoIPの仕組み」
[2004/11/01]
■
その13「イーサネットとは」
[2004/10/25]
■
その12「IP/TCP/UDP/ICMPとは」
[2004/10/18]
■
その11「DHCPの役割」
[2004/10/04]
■
その10「MIMOとは」
[2004/09/27]
■
その9「DMZとその効果」
[2004/09/13]
■
その8「ファイアウォールとは」
[2004/09/06]
■
その7「NATとNAPTの違いとIPマスカレード」
[2004/08/30]
■
その6「VPNとVPNパススルーの仕組み」
[2004/08/23]
■
その5「無線LANの問題とWEP」
[2004/08/09]
■
その4「IEEE 802.11a/b/gって何を意味しているの?」
[2004/08/02]
■
その3「ダイナミックDNSって?」
[2004/07/26]
■
その2「グローバルIPアドレスとプライベートIPアドレス」
[2004/07/12]
■
その1「PPPoEって何だろう?」
[2004/07/05]
その20「POP3の役割と機能」
■
POP3とは
POP3とは「Post Office Protocol version 3」の略で、SMTPサーバーから配信されたメールを取得するためのプロトコルです。version 3と呼ばれるからには、version 1/2も存在します。それぞれPOP/POP2と呼ばれていましたが、POP3とは互換性もなく、現在では事実上使われていません。実のところ、現在メールを取得するために使われるプロトコルは、ほとんどがPOP3とその派生型になるはずです。例外としてIMAP4というものがありますが、これは次回説明することにします。
■
POP3の役割
図1:POP3が利用される範囲
前回、
SMTPの回
で説明したとおり、メールの転送や配信はSMTPで行なわれます。具体的に言えば、すべてのメールサーバーにはSMTPサーバーと呼ばれるプログラムが実行されており、このSMTPサーバーがメールの転送や配信を行なってくれるわけです。しかし、SMTPは届いたメールをユーザーメールボックスに入れるまでしかしてくれません。
ユーザーメールボックス、というのはUNIX上の概念です。UNIXの場合、すべてのユーザーが電子メールを標準で利用できるようになっていますが、この際に個別のユーザーごとにメールを格納する場所のことをユーザーメールボックスと呼びます(図1)。
自分がそのUNIX上にログインしているのであれば、あとはメールボックスとなるファイルを直接開けば届いたメールが読み取れるわけです。「なぜ、POP3の機能もSMTPサーバーに含めていなかったんだ?」と考える人もおられるかと思いますが、UNIXのみを使っている限り、POP3は必要ないわけです。当初のインターネットがUNIXマシンを中心に発達してきたことを考えると、SMTPにPOP3の機能を含めなかったのは賢明だったかもしれません。
この結果、UNIXにログインせずにPCなどでメールを受信したいと思う場合、ユーザーメールボックスからメールを取り出して送り出す、という操作がUNIX側で必要になります。この際に利用されるプロトコルがPOP3で、取り出して送り出す操作を行なうのがPOP3サーバーとなります(図2)。
図2:中をもう少し見てみると
■
POP3の機能
POP3は、平文ベースのプロトコルです。ここで言う“平文”とは、人間が読んで理解できるような文字列を使った、という意味になります。実際、POP3を使ってPOP3サーバーと、クライアント上で動作するメールソフトが交信する様子を見ることも可能ですし、そういう行為を許すプロトコルになっています。また、POP3は人間が理解できる程度に簡単なプロトコルでもあります。具体的にPOP3で用意されているのは、以下のような簡単なコマンドになります。
USER
ユーザー名を指定する
PASS
パスワードを指定する
STAT
(保存メール数など)メールボックスの現在のステータスを表示する
LIST
メールの一覧表示を行なう
RETR
1通分のメールを取り出す
TOP
1通分のメールの先頭何行分だけを取り出す
DELE
メールを削除する
RSET
ここまで行なってきた処理をリセット
UIDL
メール本文に含まれるUIDL(Unique ID Listing)を使ってのメールを一覧表示する
NOOP
何もしない
QUIT
POP3サーバーとの接続を解除する
メールボックスからクライアントにメールを取り込むにはこれで十分ですし、メーラーによってはこれらを駆使することで、リモートメールボックスの機能を実現しているものすらあります。その意味では、現状ではそれほど不自由がないプロトコルといえます。
■
POP3の問題
図3:あまり問題がない場合
POP3の問題は、SMTPとよく似ていますが、平文で通信が行なわれるために傍受がしやすい点です。例えば、図3のように、プロバイダーのメールサーバーに自宅からADSLやFTTH、ISDNなどの公衆回線網を使って接続する場合は、これはあまり問題にはなりません。
というのも、これらの回線は他に盗聴されないことが保証されている仕組みなので、メールサーバーとドメインAが直結されているのに等しいからです。直結されていれば、簡単に傍受はできないので、平文でユーザー名やパスワードを送ってもそれほど問題はありません(もちろん、プロバイダーのサーバールームに侵入して盗聴なんて可能性がないわけではありませんが、確率的に低いこともあるのでここでは無視します)。
ところが、図4のようにメールサーバーとの接続にインターネットが挟まる場合は注意が必要です。例えば、出先のホットスポットでネットワークに接続してメールを受信する、といった場合です。この場合、途中にインターネットが挟まっているため、傍受される可能性は否定できません。一例をあげれば、ホットスポットの場合では同じホットスポットのエリアにあるノートPCで簡単に傍受できてしまいます。
そうなると、ユーザー名とパスワードが丸わかりになってしまうわけで、極めて危険です。もちろん、これはメールサーバーとクライアントの間でVPNやSSLといった暗号化通信を利用すれば防止できますが、どの場所でもこれらが使えるとは限りません。
そこで、ユーザー名とパスワードを暗号化したAPOP(Authenticated Post Office Protocol:MDS認証を利用したPOP3)や、KPOP(Kerberos Post Office Protocol:Kerberos認証を利用したPOP3)などが開発されました。最近はAPOPを利用できるプロバイダーもずいぶん増えてきています。
ただ、APOPの利用によりユーザー名やパスワードが傍受されてしまう危険性は、だいぶ減りますが、メール本文に関しては相変わらず平文のまま送られるため、メールの内容の傍受を防ぐことはPOP3系を使う限り不可能になっています。そのため、より安全性が必要とされる場合は、SSLなどを併用することが必要であり、実際いくつかのプロバイダーではオプションとして提供しているところもあるようです。
図4:問題が発生する可能性がある場合
びび
(右):
ブロードバンド用語を習得すべく、日々学習中の小学生。何とか自力 で学ぼうとはしているが、結局はワーズに助け船をだしてもらっている。
ワーズ
(左):
言葉がキツくなるときもあるが、基本的には面倒見の良いお姉さんタイプ。びびとは家も近いこともあり、昔から何かと世話を焼いている。びびからは「ワーズさん」と呼ばれ、慕われている。
2004/12/20 10:54
槻ノ木 隆
国内某メーカーのネットワーク関係「エンジニア」から「元エンジニア」に限りなく近いところに流れてきてしまった。ここ2年ほどは、企画とか教育、営業に近いことばかりやっており、まもなく肩書きは「退役エンジニア」になると思われる。(イラスト:Mikebow)
Broadband Watch ホームページ
Copyright (c) 2004 Impress Corporation, an Impress Group company. All rights reserved.