メールの送受信は、従来 SMTP、POP、IMAP にて行われていましたが、これらのプロトコルは暗号化されていないため、受信時のパスワードや本文が盗み見されてしまうリスクがありました。 そのため、会社宛のメールを、自宅から送受信することを、社内のポリシーとして禁止している例は少なくありません。 ここでは、“SMTP/IMAP/POP3 over SSL”と“STARTTLS”によるメール暗号化について紹介します。
SMTP/IMAP/POP3 over SSLによるメール暗号化
SMTPS(smtp over SSL)、IMAPS(imap over SSL)、POP3S(pop3 over SSL)は、SSL対応のそれぞれのポートSMTPS(465/tcp)、IMAPS(993/tcp)、POP3S(995/tcp)を新たに専用のポートを持つことで、SSL対応したメールクライアントソフトウェアとそうでないソフトウェアの混在が行えるため、段階的な暗号化通信を行っていき、最後に通常のSMTP、IMAP、POPポートを閉じることで、完全な暗号化通信環境を作られる環境で用いられます。
クライアント/サーバー間で"SMTP/IMAP/POP3 over SSL"を使う場合の注意点
“SMTP/IMAP/POP3 over SSL”を使って、クライアントからのメール送受信を行う場合、クライアントで使っているメーラーが”SMTP/IMAP/POP3 over SSL”に対応している必要があります。また、対応しているメーラーであっても、そのままで”SMTP/IMAP/POP3 over SSL”を使うことができるわけではなく、メーラー側で設定変更が必要になります。
ブラウザでのSSL通信(https)と同様に、多くのメールクライアントソフトウェアでは、第三者証明機関が発行する証明書を使用しないと(自己発行の証明書を使うと)、接続時に信頼できる証明書であるかを確認する警告メッセージが表示されます。
STARTTLSによるメール暗号化
先ほどの、「暗号化専用ポート(465など)」を使用するのに対して、25、587、143といった通常のメール通信ポートを使って暗号化するのがTLSです。
STARTTLSの仕組み
平文で接続開始
メールサーバー同士は、まず通常の(暗号化されていない)通信で接続します。暗号化の提案
送信側のサーバーが「STARTTLS」というコマンドを使って、受信側に暗号化通信へ切り替える提案を行います。暗号化の開始
受信側が対応していれば、両者はTLSを使って安全な通信路を確立します。暗号化されたメール送受信
TLSで保護された通信経路を通じて、メールの本文や添付ファイルが安全にやり取りされます。
このように、STARTTLSは、接続先のメールサーバがSTARTTLSに対応していれば、従来のSMTP(25/tcp)、IMAP(143/tcp)、POP(110/tcp)のポート番号はそのままに、暗号化通信を行える仕組みになっています。
REQUIRETLS (RFC 8689) でTLSを必須にすることも!
STARTTLSは、送信先のサーバーがSTARTTLSに対応しているかどうかを判断し、対応していない場合は、暗号化は行わずにメールを配信します。
ただし、取引内容によっては、TLSでの暗号化を必須にしたい場合もあります。そんな時に使用できるのが、RequireTLSです。RequireTLSを使うと、送信先のサーバーがTLS未対応だった場合、暗号化なしでメール配信するのではなく、配信自体を行わなくなります。
この機能は、SecurityGatewayに搭載されているコンテンツフィルタ機能で、特定のドメインとのメールにだけ適用したり、柔軟に運用する事もできます。

