今回もメール配信システム「ワイメール」の公式コラムをご覧いただきありがとうございます。
現在、多くのWebサイトではHTTPSが利用されており、ブラウザとWebサーバーの間でやり取りされる通信がTLSという技術によって暗号化されています。
一方、メールは送信ボタンを押した後、どのような通信によって相手へ届けられているのでしょうか。
普段、メールの配送経路を意識する機会はほとんどありませんが、メールサーバー間の通信にも、配送中の情報を保護するために同じTLSが利用されています。
今回は、メール配送に利用される「SMTP」と、SMTP通信をTLSによる暗号化通信へ切り替える「STARTTLS」の仕組みについて解説していきます。
目次
メールは複数のサーバーを経由して届く
メールは、送信者の端末から受信者の端末へ直接送られるわけではありません。
ワイメールなどのメール配信システムからメールを送信すると、まず配信システムの送信サーバーから宛先となるメールアドレスを管理している受信サーバーへメールが配送されます。
受信サーバーへ届けられたメールは受信者のメールボックスに保存され、その後、POP3やIMAPなどのプロトコルを通じて、受信者がWebメールやメールソフトを通じて閲覧します。
このうち、送信サーバーから受信サーバーへメールを配送する際に利用される通信手順が「SMTP」です。
SMTPは「Simple Mail Transfer Protocol」の略称で、その名のとおり、メールを転送するための通信手順を定めたものです。
STARTTLSとは
SMTPは長い歴史を持つ通信手順ですが、当初のSMTPには通信内容を暗号化する仕組みがありませんでした。
暗号化されていない通信では、通信経路上の情報を第三者に取得された場合、メールの内容を読み取られる可能性があります。
そこで、前述したTLSをSMTPによるメール配送でも利用できるよう、通信を途中から暗号化へ切り替えるために使用されるのが「STARTTLS」です。
STARTTLSを利用したメール配送は、おおむね次のような流れで行われます。
1.送信サーバーが受信サーバーへSMTPで接続する
2.受信サーバーがSTARTTLSに対応していることを通知する
3.送信サーバーが暗号化通信への切り替えを要求する
4.TLSによる暗号化通信を開始する
5.暗号化された通信経路でメールを配送する
STARTTLSという名称から、STARTTLS自体が暗号方式の一種と思われるかもしれません。
しかし、実際には暗号化に利用されるのはTLSであり、STARTTLSはすでに開始されているSMTP通信をTLSへ切り替えるための手順を指します。
STARTTLSで暗号化される範囲
STARTTLSによって保護されるのは、送信サーバーと受信サーバーなどの間で行われる通信です。
暗号化された区間では、メール本文や添付ファイルなど、配送中にやり取りされる情報を第三者から読み取られにくくできます。
ただし、STARTTLSはメールそのものを暗号化する仕組みではありません。
例えば、受信者だけがメール本文を復号できるS/MIMEやPGPなどとは異なり、メールが受信サーバーへ到着した後は、通常のメールとしてメールボックスに保存されます。
また、STARTTLSとSPF、DKIM、DMARCでは、それぞれ役割が異なります。
SPFはメールを送信したサーバーが、そのドメインからの送信を許可されているかを確認する仕組みです。
DKIMは電子署名を利用し、メールが正当な送信元から送信され、配送中に改ざんされていないかを確認します。
DMARCはSPFやDKIMの認証結果をもとに、認証に失敗したメールを受信側でどのように扱うかを示す仕組みです。
これらが主に送信元の確認やメールの改ざん検知を行うのに対し、STARTTLSはメールを配送する通信経路を保護します。
したがって、STARTTLSによって通信が暗号化されていても、送信者が正当であることが保証されるわけではありません。
反対に、SPFやDKIMによる認証に成功していても、それだけで配送時の通信が暗号化されていることにはなりません。
安全なメール配送を実現するためには、それぞれ役割の異なる仕組みを組み合わせることが重要です。
すべてのメールが必ず暗号化されるとは限らない
STARTTLSを利用するには、メールを送信するサーバーだけでなく、接続先となる受信サーバーもSTARTTLSに対応している必要があります。
受信サーバーがSTARTTLSに対応している場合は、送信サーバーとの間で暗号化通信へ切り替えられます。
一方、受信サーバーがSTARTTLSに対応していない場合、一般的なメール配送では、メールを届けることを優先して暗号化されていない通信で配送を続ける場合があります。
このように、相手が対応している場合に暗号化通信を利用する方式は「日和見TLS」と呼ばれています。
Webサイトで利用されるHTTPSでは、暗号化通信を確立できなかった場合に警告を表示したり、接続を中止したりできます。
しかし、メール配送では、受信サーバーごとに対応状況が異なる中で、暗号化を必須にするとメール自体が届かなくなる可能性があります。
そのため、通常のSTARTTLSによる配送は、通信の安全性とメールの到達性を両立させる仕組みとして広く利用されています。
なお、暗号化されていない通信への切り替えを防止し、TLSによる配送をより確実にするため、MTA-STSやDANE、REQUIRETLSといった追加の仕組みも存在します。
ワイメールにおけるSTARTTLSへの対応
ワイメールでは、接続先となる受信サーバーがSTARTTLSに対応している場合、TLSによって暗号化された通信経路でメールを配送しています。
STARTTLSの利用にあたり、メールを作成するたびにお客様側で暗号化の有無を設定する必要はありません。
配信時に送信サーバーと受信サーバーの間で対応状況を確認し、利用可能な場合は自動的に暗号化通信へ切り替えられます。
ただし、前述のとおり、メールの配送経路はワイメールの送信サーバーだけで完結するものではありません。
実際に暗号化通信が利用されるかどうかは、宛先となる受信サーバーの対応状況などにも左右されます。
そのため、STARTTLSへの対応は「すべてのメールが必ず暗号化される」ことを保証するものではなく、対応するメールサーバーとの間で配送中の通信を保護するための仕組みとなります。
最後に
今回は、メール配送におけるSMTPとSTARTTLSの仕組みについて解説しました。
メールは普段見えない場所で複数のサーバーを経由して配送されており、対応するメールサーバー間では、STARTTLSによる暗号化通信が利用されています。
一方で、STARTTLSが保護するのは配送中の通信経路であり、送信元を認証するSPF、DKIM、DMARCや、メール本文自体を暗号化する技術とは役割が異なります。
メール配信の安全性は、1つの技術だけで確保されているものではありません。
ワイメールでは、STARTTLSによる通信経路の保護や各種送信ドメイン認証への対応など、複数の仕組みによって、安全で信頼性の高いメール配信を行える環境を整備しています。
これを機に、普段送信しているメールがどのような仕組みによって相手へ届けられているのか、興味を持っていただけたら幸いです。
