IPA|情報処理技術者試験

これで理解できる!メールの認証と配送の全体像(SMTP/POP/IMAPからSPF/DKIM/DMARCまで)

メールは今や生活やビジネスに欠かせない通信手段ですが、その裏側の仕組みは意外と複雑です。
「送信」「配送」「受信」という3つのステップに分かれていて、それぞれで使われるプロトコルやセキュリティ技術が異なります。

特に試験勉強や実務でよく出てくるのが、SMTP・POP3・IMAP・SMTP AUTH・POP before SMTP・OP25B・SPF・DKIM・DMARC といった用語です。
これらは「何を守るための仕組みか」「どこで働くのか」がごちゃ混ぜになりやすく、混乱のもとになりがちです。

この記事では、メール通信を一枚の図で整理しながら、過去から現在に至るセキュリティの進化までをわかりやすく解説します。

メール通信の基本構造

メールは大きく分けて以下の3つの通信で成り立っています。

  1. ユーザ → 自分のメールサーバ(送信)
    ユーザがPCやスマホから「送信」ボタンを押すと、自分が契約しているプロバイダや会社のSMTPサーバに接続します。
    現在は必ず 587番サブミッションポート+SMTP AUTH で認証を行い、正規ユーザであることを確認します。
  2. 自分のメールサーバ → 相手のメールサーバ(配送)
    自分のサーバが、宛先ドメインに対応する受信SMTPサーバへ直接メールを渡します。
    ここで使うのは 25番ポート(SMTP)
    この段階ではユーザ認証はなく、代わりに SPF・DKIM・DMARC などの仕組みで「送信元が正当か」を確認します。
  3. 相手のメールサーバ → 相手ユーザ(受信)
    相手ユーザが自分のサーバにアクセスしてメールを読みます。
    ここでは POP3(110番) または IMAP(143番) が使われ、必ずユーザ名・パスワードによる認証を伴います。

図解:メール通信の基本構造

[ユーザPC/スマホ]
    │ 送信 (SMTP 587番 + AUTH)
    ▼
[自分の送信SMTPサーバ]
    │ 配送 (SMTP 25番, 認証なし)
    ▼
[相手の受信SMTPサーバ]
    │ 受信 (POP3/110番 or IMAP/143番, 認証あり)
    ▼
[相手ユーザPC/スマホ]

送信経路の認証方式の進化

メール送信における「誰が正規ユーザか」を確認する方法は、時代とともに大きく変化してきました。ここでは POP before SMTP → SMTP AUTH → OP25B という流れを整理します。

POP before SMTP(過渡期の仕組み)

  • 課題:当初のSMTP(25番ポート)にはユーザ認証の仕組みがなく、誰でもサーバに接続できてしまった。
  • 仕組み:
    1. ユーザはまずPOP3サーバにログイン(ユーザ名+パスワード)。
    2. サーバは「このIPアドレスは正規ユーザ」と一定時間記録。
    3. その後、同じIPからSMTP接続があれば送信を許可。
  • 特徴:暫定的な対応策であり、NAT環境やモバイル環境では不具合も多かった。

SMTP AUTHと587番サブミッションポート

  • 登場背景:POP before SMTPの問題を解決するため、SMTP自体にユーザ認証機能を組み込んだ。
  • 仕組み:
    • ユーザはSMTPサーバに接続するとき、必ずユーザ名+パスワードで認証(SMTP AUTH)。
    • 送信専用のポートとして 587番(サブミッションポート) を利用。
  • メリット:
    • 正規ユーザのみが送信可能になる。
    • POP3サーバと連携する必要がなくシンプル。
    • 現在の標準方式。

OP25B(Outbound Port 25 Blocking)

  • 課題:ユーザ認証を強化しても、ウイルス感染PCが外部SMTPサーバに直接接続(25番直送)してスパムをばらまく問題が残った。
  • 仕組み:
    • ISP(プロバイダ)が「ユーザPCから外向き25番ポート通信」を遮断。
    • ユーザは必ず「プロバイダのSMTPサーバ(587番+AUTH)」を経由する形に制御される。
  • メリット:
    • 感染PCからのスパム拡散を物理的に防止。
    • 正規経路に一本化でき、トレーサビリティ(追跡性)が確保される。

図解:送信経路の認証進化

【過渡期】POP before SMTP
[ユーザPC] -- POP3認証 --> [POP3サーバ] → IP記録
[ユーザPC] -- SMTP送信(25) --> [SMTPサーバ] (IP確認で許可)

【標準化】SMTP AUTH(587番)
[ユーザPC] -- SMTP送信(587+AUTH) --> [SMTPサーバ] (直接認証)

【強化策】OP25B
[ユーザPC] -- SMTP送信(25番直送) --> ✕ ISPでブロック
      ↓
必ず [SMTPサーバ(587+AUTH)] 経由で送信

受信経路における認証(POP3/IMAP)

送信時は587番+SMTP AUTHでユーザ認証を行いましたが、受信時もユーザ認証は必須です。
ユーザは自分のメールボックスにアクセスするために、POP3 または IMAP を使って、ユーザ名・パスワード(近年はOAuth2等)で認証します。

POP3とIMAPの違い

項目 POP3(110番) IMAP(143番)
基本モデル 受信後に端末へダウンロード(サーバから削除がデフォルト設定のことが多い) サーバ上に保存し、端末と同期(複数端末で同じ状態を保てる)
フォルダ管理 端末側で管理 サーバ側でフォルダ・既読・フラグ等を管理
適した用途 単一端末・ローカル保存が主体 複数端末・モバイル・Webメール連携
認証 ユーザ名・パスワード(APOP等の拡張/非推奨) ユーザ名・パスワード、近年はOAuth2対応が一般的

暗号化(TLS)の扱い

  • STARTTLS:平文ポート(POP3/110, IMAP/143)で接続後にTLSへ昇格。
  • 専用TLSポート:POP3S(995)、IMAPS(993)。初回からTLSで暗号化。
  • 現在はSTARTTLS または専用TLSポートのどちらかで暗号化するのが実務標準。

図解:受信時の認証フロー

[ユーザPC/スマホ]
    │  POP3(110) or IMAP(143)
    │  + 認証(ID/パスワード or OAuth2)
    │  + 暗号化(STARTTLS もしくは 995/993)
    ▼
[自分の受信サーバ]
    │  ログイン成功ならメールボックスへアクセス
    ▼
[メールの取得/同期]

セキュリティ上の注意点(受信)

  • 必ず暗号化(STARTTLS/995/993)。平文で資格情報を流さない。
  • 使える場合はOAuth2(アプリパスワード含む)を優先し、平文パスワードを避ける
  • IMAP利用時は、端末紛失に備え端末側のディスク暗号化・画面ロックも必須。
  • POP3で「サーバに残す」設定にする場合、容量超過や重複受信に注意。

参考

項目 SMTP AUTH OP25B
対象 ユーザとSMTPサーバの間 ユーザPCと外部SMTPサーバの通信(25番ポート)
方式 ユーザ名+パスワードで本人認証 ISPがユーザPCの外向き25番を強制的に遮断
目的 正規ユーザ以外がメールを送信できないようにする 感染PCが外部サーバに直接スパム送信するのを防ぐ
効果 利用者の特定が可能になり、不正利用を抑止 送信経路を「587番+AUTH」に一本化し、トレーサビリティを確保
導入背景 オープンリレー問題を解決するため ボット感染PCからのスパム直送問題を解決するため

OP25Bの限界と役割

OP25B(Outbound Port 25 Blocking)は、ユーザPCから外部SMTPサーバへの25番ポート接続を強制的に遮断し、
「契約しているISPのSMTPサーバを必ず経由させる」仕組みです。
しかし万能ではなく、いくつかの限界があります。

OP25Bの限界

  • 同じISP利用者なら送信できてしまう:
    悪意ある利用者も、同じISPのSMTPサーバを使うことは可能。そのため「同じ回線から送られるスパム」を完全に排除できるわけではない。
  • 正規ユーザと同じ経路を使える:
    ISPのSMTPサーバは正規ユーザも利用するため、悪意のある人もそこを通過できてしまう。

それでも有効な理由

  • 匿名スパムを防げる:
    OP25Bにより、外部の不特定多数のSMTPサーバを踏み台にして匿名でスパムをばらまくことは不可能になる。
  • 送信経路が制限される:
    悪意ある人も、契約ISPのSMTPサーバ経由に限定されるため、スパムの拡散範囲が大幅に抑制される。
  • トレーサビリティ(追跡性)が確保される:
    ISPのSMTPサーバでは、ユーザID・送信元IP・送信先などがログとして残る。不審な送信は即座に特定可能。

まとめ

OP25Bは「スパムを完全に防ぐ仕組み」ではありません。
・匿名での大量送信を封じる
・不正送信を追跡できるようにする

この2点を実現することで、スパム業者にとってのコストを高め、実効性のある対策として広く導入されています。

全体像のまとめ

ここまで、メール通信を「送信」「配送」「受信」の3段階に分け、それぞれの認証やセキュリティ仕組みを整理してきました。
最後に一枚の図と要点で総復習しましょう。

全体フロー図

【送信】ユーザ → 自分のサーバ
  - 過渡期:POP before SMTP(POP3認証でIP許可)
  - 現在標準:SMTP AUTH(587番+ユーザ名/パスワード)
  - 強化策:OP25B(25番直送をプロバイダで遮断)

【配送】自分のサーバ → 相手のサーバ(25番, 認証なし)
  - 信頼性確認:
    ・SPF:送信元IPが許可されているか?
    ・DKIM:電子署名が正しいか?
    ・DMARC:SPF/DKIM結果に従って受け取る/隔離/拒否

【受信】相手のサーバ → 相手ユーザ
  - POP3(110番) or IMAP(143番)
  - 必ずユーザ認証(ID/パスワード)
  - TLS暗号化(995/993, STARTTLS)が現在の標準

 

試験対策・実務のポイント

  • 送信経路:POP before SMTPは過去の方式、現在はSMTP AUTH+OP25Bがセットで必須。
  • 配送経路:25番ポートは認証なし、代わりにSPF/DKIM/DMARCで正当性を担保。
  • 受信経路:POP3/IMAPでは必ずユーザ認証、さらに暗号化も実務では必須。
  • まとめ:「どこで誰を認証するのか/どこで正当性を検証するのか」を段階ごとに整理すると混乱しない。

このように、メールの仕組みは長年の歴史とセキュリティ課題を背景に進化してきました。
試験対策としては、各方式が「いつ・どこで・何を守るために登場したのか」を押さえておくと確実です。

全体フロー図(送信~配送~受信の流れ)

【ユーザ送信】
[ユーザPC/スマホ]
    │ (SMTP 587番 + AUTH)
    ▼
[自分の送信SMTPサーバ]
    │ (POP before SMTP:過渡期の方式, 現在はSMTP AUTHで直接認証)
    │
    │ OP25Bにより25番直送は禁止
    ▼

【サーバ間配送】
[自分の送信SMTPサーバ]
    │ (SMTP 25番, 認証なし)
    ▼
[相手の受信SMTPサーバ]
    │ ┌─ SPF:送信元IPの確認
    │ ├─ DKIM:電子署名の検証
    │ └─ DMARC:ポリシーに基づく処理(受信/隔離/拒否)
    ▼

【ユーザ受信】
[相手ユーザPC/スマホ]
    ▲
    │ POP3 (110番) または IMAP (143番)
    │ 必ずユーザ認証 + TLS暗号化(995/993, STARTTLS)
    ▼
[相手の受信SMTPサーバ/メールボックス]

メール送信とセキュリティの進化(タイムライン)

【1990年代前半】オープンリレー時代
  - SMTP(25番)に認証なしで誰でも接続可能
  - スパムが横行、踏み台サーバが大量発生

        ↓

【1990年代後半】POP before SMTP
  - SMTPに認証がない課題への暫定策
  - POP3でログインしたIPを一定時間有効化し、SMTP送信を許可
  - NATやモバイル環境で不具合が多発

        ↓

【2000年代前半】SMTP AUTH + サブミッションポート(587番)
  - SMTPに認証機能を導入
  - ユーザは必ず「587番+ユーザ名・パスワード」で送信
  - POP3連携が不要になり、現在の標準方式に

        ↓

【2000年代半ば】OP25B (Outbound Port 25 Blocking)
  - 感染PCが25番直送でスパムを送る問題を対策
  - ISPがユーザPCから外部25番を遮断
  - 送信経路を「587番+AUTH」に一本化

        ↓

【2010年代以降】SPF / DKIM / DMARC
  - サーバ間配送(25番, 認証なし)の正当性確認を強化
  - SPF:送信元IPをDNSで確認
  - DKIM:電子署名による改ざん防止
  - DMARC:SPF/DKIMの結果に基づき受信側の処理を統一

試験対策チェックリスト(暗記用まとめ)

  • SMTP(25番):サーバ間配送用。認証なし。現在も利用されている。
  • POP3(110番):受信専用。基本はメールを端末にダウンロード。
  • IMAP(143番):受信専用。サーバにメールを残し、複数端末で同期可能。
  • SMTP AUTH(587番):ユーザ送信専用ポート。必ずユーザ認証(ID・パスワード)。現在の標準。
  • POP before SMTP:POP3ログイン後のIPをもとにSMTP送信許可。過渡期の仕組み。
  • OP25B:ISPが外向き25番を遮断。感染PCのスパム直送を防ぐ。587番+AUTH利用を強制。
  • SPF:送信元IPが正しいかDNSで検証。
  • DKIM:電子署名で改ざんやなりすましを検証。
  • DMARC:SPF/DKIMの結果に基づき、受信側の処理(受信/隔離/拒否)を定義。
  • 暗号化:POP3S(995) / IMAPS(993) / STARTTLS を使うのが実務標準。

覚えておくべきポイント

  1. 送信の進化:オープンリレー → POP before SMTP → SMTP AUTH/587 → OP25B
  2. 配送の検証:サーバ間配送は認証なし → SPF/DKIM/DMARCで補強
  3. 受信の認証:POP3/IMAPで必ずユーザ認証+TLS暗号化
  4. ポート番号暗記:25(SMTP), 587(SMTP AUTH), 110(POP3), 143(IMAP), 995(POP3S), 993(IMAPS)

-IPA|情報処理技術者試験