認証はメールサーバ利用の最初の段階で行います。smtpを使ってメールを送信するときには、次の2つのステップがあると考えられます。あらかじめ決められたネットワークからの送信に限って(1)は省略します。
(1)送信者の認証
(2)あて先情報とメール本文の送出
先のpop before smtpもsmtp authも、いずれも(1)の段階で実行するものです。pop before smtpではapopを使うことで、smtp authではCRAM-MD5を使うことで、(1)の認証を安全に行うことができます。
ただし、これらの場合にもあて先情報やメール本文は暗号化しませんから、(2)については安全とはいえません。
思い出してください。この記事の前半部分で、smtpsがあて先情報とメール本文を暗号化してやりとりすることを説明しました。気付かれましたか? そう、(2)宛先情報とメール本文を安全に送るためには、smtpsを利用することができそうです。
smtpsと認証を組み合わせるとどうなるのか、この辺り、少し整理しないと分かりにくいと思います。そこで、送信者の認証、あて先情報とメール本文、それぞれが安全に送れるかどうかを表1にまとめました。なお実際には、使うツールによってその組み合わせができないケースもあり得ます。
プロトコル | 送信者認証の安全性 | あて先情報とメール本文 |
---|---|---|
smtp | 認証機能なし | × |
smtp + pop before smtp (pop3を使用) |
× | × |
smtp + pop before smtp (apop/pop3sを使用) |
○ (ハッシュ/SSL) |
× |
smtp + smtp auth | ○(*1) (CRAM-MD5など) |
× |
smtp | 認証機能なし(*2) | ○ (SSL) |
smtp + pop before smtp (pop3を使用) |
× | ○ (SSL) |
smtp + pop before smtp (apop/pop3sを使用) |
○ (ハッシュ/SSL) |
○ (SSL) |
smtp + smtp auth | ○(*3) (SSL) |
○ (SSL) |
表1 smtpsと認証の関係 ○:安全、×:安全ではない (*1) smtp authにCRAM-MD5など暗号を使用した場合 (*2) TLS/SSLには電子証明書により相手を認証する機能があるが、pop3sやsmtpsで使われないことから、ここでは「認証機能なし」とした (*3) smtp authはPlain Textでもよい |
表1のようになる理由を理解するには、認証の仕組みに立ち返って考えると分かりやすいと思います。
pop before smtpは、smtpプロトコルの範囲外、pop3の機能によって送信者を認証しています。だから、それが安全に行えるかどうかは、pop3が安全に行えるかどうかによって決まります。具体的には、apopやpop3sを使えば安全に認証できることになります。メール本文の送信がsmtpかsmtpsかには関係しません。
一方、smtp authはsmtpプロトコルの中で、送信者の認証をします。smtp authにはオプションがあって、pop3のように何も手を加えていないIDとパスワードをそのまま送る方法と、apopのようにMD5という一方向ハッシュ関数を使ってパスワードそのものは送らない方法があります。
前者の場合、smtpなら安全ではありませんが、smtpsなら安全に認証できます。後者の場合、smtpかsmtpsか関係なく安全です。なお、このときはsmtpsによる安全な通信路の中に、さらにMD5を使った安全な方法で認証をしていることになります。
Copyright © ITmedia, Inc. All Rights Reserved.