メールの仕組みを理解しよう

みなさん、何気なくメールを使っていますよね。
それはパソコンであったり携帯であったり・・・今やなくてはならない通信・コミュニケーション手段です。
では、メールの仕組み、流れというのをご存じでしょうか?

ここではメールを送信してから相手が受信するまでの仕組み・流れ、と用語を少し解説したいと思います。

みなさんが普段利用しているプロバイダなどのメール、一番普及している方法をPOP before SMTPといいます。
POPサーバーというのはメールをダウンロードしてくる受信サーバーを指し、SMTPサーバーというのはメールを転送する送信サーバーを指します。
要するにPOPが受信です。
でもSMTPは送信だと思わないでください、SMTPはあくまでも転送です。
もちろんクライアントから見れば送信に違いはないんですが、SMTPはSMTPサーバー同士でメールを転送し合うからです。

POP before SMTP
送信元 自宅サーバー 相手サーバー 送信相手
メールの仕組み メールの仕組み メールの仕組み
1.POP認証 2.送信元のIPを記録
メールの仕組み メールの仕組み メールの仕組み
3.メールの受信
メールの仕組み メールの仕組み メールの仕組み メールの仕組み メールの仕組み メールの仕組み メールの仕組み
4.メールの送信 5.相手サーバーへ転送 6.POP認証
メールの仕組み メールの仕組み メールの仕組み
7.メールの受信

これがPOP before SMTPの流れになります。

1.クライアントがPOPサーバーに対してパスワードを送信、認証を行う。
2.サーバーはパスワードを送ってきたクライアントのIPアドレスを記録。
3.認証をパスしたクライアントに対し、サーバーは届いているメールを配信。
4.クライアントは送信したいメールをサーバーに向けて送信。
5.クライアントが利用するサーバーが、相手クライアントが利用するサーバーへメールを転送。
6.相手側クライアントがPOP認証。
7.相手側クライアントがメールの受信。

ここでのポイントは、SMTPサーバーが認証機能を持たないということです。
SMTPサーバーは認証機能を持たない=どのクライアントからのメールでも転送してしまうんですね。
しかしこれではスパムだらけになってしまいます。
そこで認証機能を持つPOPサーバーに認証してもらうと同時にIPアドレスを記録してもらうのです。
そして記録されたIPアドレスのみにSMTPサーバーを利用させる。
これがPOP before SMTPとよばれるメール方式です。

5.〜7.はサーバー間同士、相手サーバー〜相手クライアントまでの話です。
よって私たちの自宅サーバーや、私たちのサーバーを利用するクライアント側としてはどうすることもできません。
よって今後は1.〜4.の解説をしていきましょう。

APOP before SMTP
送信元 自宅サーバー
メールの仕組み メールの仕組み メールの仕組み
1.暗号化パスワードによるPOP認証 2.送信元のIPを記録
メールの仕組み メールの仕組み メールの仕組み
3.メールの受信
メールの仕組み メールの仕組み メールの仕組み
4.メールの送信

これがAPOP before SMTP方式の流れになります。
基本的にPOP before SMTP方式と変わりませんが、クライアントからのPOP認証が暗号化されて行われます。
そうです、POP before SMTPでパスワードを盗聴された場合はスパムの踏み台にされてしまうのです。

APOPの場合盗聴されてもパスワードが漏れることは基本的になくなります。
しかし弱点もあります。
最大ユーザー数を誇るであろう、OutlookExpressおよびMicrosoftOutlookがAPOPに対応していないのです。

SMTP-AUTH
送信元 自宅サーバー 相手サーバー
メールの仕組み メールの仕組み メールの仕組み メールの仕組み メールの仕組み
1.SMTP認証&メールの送信 相手サーバーへ転送

次はSMTP-AUTH方式です。どうですか?シンプルですね。

見れば分かるかと思いますが、SMTP-AUTHは最初にメール受信することなく送信することができます。
SMTPサーバーは通常認証機能を持たないが故にPOPサーバーと連携を取っていたわけですが、認証機能を持つSMTPサーバーならば連携を取る必要がない、当然ですね。

SMTP-AUTHにはメリットが数多くあります。
そもそもPOPとは別物ですので、POP認証とSMTP認証でID&パスワードが全く別のものを使用することができるようになります(管理が煩雑にもなりますが、セキュリティ的には望ましいです)
受信操作を行うことなく、いつでもメールを送信することができるようになります。
OutlookExpressおよびMicrosoftOutlookもSMTP-AUTHに対応しています。
それから、POP before SMTPではIPアドレスを一定時間記憶してからSMTPを利用しました。
しかしその一定時間のうちにクライアントのIPアドレスが変化してしまった場合、全く別の人物がSMTPを利用できてしまうという可能性もまた持っていたのです。
しかしSMTP-AUTHならば、メール送信の度に認証を行いますのでそのような問題もなくなるわけです。

おおざっぱに言ってSMTP-AUTHには以上のようなメリットがあります。
事実、元々POP before SMTPというのはSMTP-AUTHがサーバー・クライアント双方に普及するまでの繋ぎの技術なのです。

ところでAPOPが存在するのならば、ASMTPが存在するのではないか?と普通考えますよね。
一般的にはASMTPという言葉は存在しません。
しかしそれはパスワードの暗号化ができないという意味ではなく、暗号化したパスワードにしろ暗号化していないパスワードにしろ、SMTPサーバーで認証する方式をSMTP-AUTH方式と呼ぶにすぎないだけなのです。

POPS before SMTPS
送信元 自宅サーバー 相手サーバー
メールの仕組み メールの仕組み メールの仕組み
1.暗号化POP認証 2.送信元のIPを記録
メールの仕組み メールの仕組み メールの仕組み
3.暗号化メールの受信
メールの仕組み メールの仕組み メールの仕組み メールの仕組み メールの仕組み
4.暗号化メールの送信 5.相手サーバーへ転送

今度はPOPS before SMTPSです。
ベースとなっているのは当然POP before SMTPですが、このうち送信元クライアントから私たちが構築するサーバーまでの間を完全に暗号化するメール方式です。
別名POP over SSL before SMTP over SSLともいいます。
名前の通り、SSLで暗号化しています。

POPS before SMTPSとAPOPの違いですが、APOPはパスワードのみを暗号化していました。
これに対し、POPS before SMTPSはメール本文を含めて暗号化しています。
APOPがメール本文までは暗号化していないといった方がいいでしょうか。

APOPは盗聴されたとしても、サーバー管理者としてはSMTPがスパムの踏み台にされることはないので別にどうでも良いわけです。
しかしクライアント、ユーザー側はメール本文を見られてしまいますので大問題です。
そこで、せめてユーザー〜サーバー間は暗号化しましょう、というのがPOPS before SMTPSになります。

SMTPS-AUTH
送信元 自宅サーバー 相手サーバー
メールの仕組み メールの仕組み メールの仕組み メールの仕組み メールの仕組み
1.暗号化SMTP認証
&暗号化メールの送信
2.相手サーバーへ転送

ここまで説明してくれば、もうここの解説は必要ないでしょう。
SMTP-AUTHをSSL暗号化した方式ですね。

ところで、サーバーでできるのはここまでなんですね。
サーバーとしては、どうあがいてもサーバー間転送以後はメールの暗号化はできないんです。
サーバー間どうしで暗号化するには、全世界のSMTPサーバーが暗号化に対応する必要が出てきてしまいますから・・・

ではメールを使う場合、自分のサーバーを出た後の盗聴には為す術がないのか?
そんなことはありません。
そもそもメール本文を暗号化してしまえばいいんです。
この技術をS/MIMEといいます。
S/MIMEによる電子署名・暗号化はこちらを参照してください。
しかし残念ながら、この情報セキュリティの時代にメールの暗号化&電子署名はろくに普及していないんですよね・・・


POPとIMAP

今度はメール受信のお話です。
上ではすべてPOPを受信としてお話ししてきました。
しかし、メール受信の方式にはもうひとつ、IMAPサーバーを使う方法もあるのです。

POPサーバーの場合、クライアントはメールをサーバーからダウンロードしてきてメールを閲覧していました。
具体例を出した方が分かりやすいかもしれませんね。
会社と自宅、あるいはノートパソコンとデスクトップなどでメールを同期できたらいいなぁ、と思ったことはありませんか?
そのために、会社ではサーバーにメールを残しておき、家で改めてメールを受信するという方法を取っている人も多いと思います。
しかしそれではどのメールが未読か分からなくなってしまいますし、返信したのかどうか、返信した内容も分からなくなってしまいます。
自分宛に返信メールをccで転送し、後ほど家で送信済みメールとして保存する?ややこしくてやってられませんね。

そこでIMAPです。
IMAPサーバーではメールをダウンロードせず、メールクライアントを通じてサーバーのデータを直接読むことになります。
HTTPサーバーと似たようなイメージですね。
メールそのものは常にサーバーにあるわけですから、未読既読の判別はどこから参照しても同じです。
それどころか、送信済みメールボックス、書きかけ、ゴミ箱すらサーバーに置いておけるのです。
これならいつでも自分のメールは同期ができているわけです。
Webメールサービスをメールクライアントで操作できる、と思ってもいいかもしれませんね。
これがIMAPサーバーなんです。
そしてIMAPもメールの流れや仕組みは同じIMAP before SMTPやIMAPS before SMTPが存在します。

以上でメールの仕組みのお話は終了です。
雑談のネタ?くらいにはなったでしょうか。
お疲れ様でした。

Outbound Port25 Blocking