Menu

BLOG ベアメールブログ

STARTTLSとは? メール暗号化の仕組みやメリットについて解説

STARTTLSとは、暗号化されていない平文での通信を、SSL/TLSを利用した暗号化通信に切り替える仕組みのことです。メール送信に利用されるプロトコルであるSMTPは暗号化通信に対応していないため、盗聴などのリスクからメールを守るために、メールの通信経路の暗号化の手段としてSTARTTLSが利用されています。本記事では、メールの暗号化とはどのようなものか、暗号化技術であるSSL/TLSの概要を踏まえ、STARTTLSの概要と仕組み、メリット・デメリットについて解説します。

メール暗号化とは

メールの暗号化にはどのような意味があるのでしょうか。まず、暗号化の必要性と、暗号化技術であるSSL/TLSの概要について解説します。

メール暗号化の必要性

メールの送信に使用されるプロトコルであるSMTPには、通信を暗号化してデータを保護するための仕組みがありません。そのため、暗号化せずにメールを送信していると、通信を傍受することでメールを盗み見られる危険性があるのです。このような問題を放置していると情報漏洩や信用問題に発展する恐れがあるため、現在では、メールを安心してセキュアな状態で利用するために、メールの通信を暗号化して外部からの不正行為を防ぐ技術が普及しています。

SSL/TLSの概要

SSL(Secure Socket Layer)は、インターネット上で通信経路を暗号化してデータを送受信する方法のひとつで、Netscape Communications社が開発したプロトコル(通信規約)です。

TLS(Transport Layer Security)は、SSLの技術をベースに標準化させたもので、SSLの次世代規格ともいえます。SSLには重大な脆弱性が存在し、その修正のためにバージョンアップが繰り返されてきました。その中で、設計を大きく見直して脆弱性を解決した結果、生まれたのがTLSです。現在SSLは基本的に使用されていませんが、SSLという名称が広く普及しているため、「SSL/TLS」や単に「SSL」と呼ばれることも多いです。

SSL/TLSの2つの方式

SSL/TLSは、HTTPやFTPなどアプリケーション層のプロトコルと組み合わせることで、HTTPSなどの暗号化されたセキュアな通信を実現することができます。HTTPなどの既存のアプリケーション層プロトコルをSSL/TLSで暗号化するには、大きく分けて2つの方法があります。

1つは、まずSSL/TLSでの接続を試み、SSL/TLS通信が確立してからアプリケーション層プロトコルでの通信を開始する方式です。この場合アプリケーション層のプロトコルには一切変更の必要がないというメリットがありますが、暗号化しない平文での通信と共存ができないため、既存の通信に利用していたポート番号とは別に専用のポート番号が必要となります。

もう1つが、まずアプリケーション層プロトコルで通信を開始し、その途中でSSL/TLSでの通信に切り替える方式です。この際の切り替えのコマンドとして用いられるのが「STARTTLS」で、この方式自体をSTARTTLSと呼ぶこともあります。

STARTTLSとは

ここでは、STARTTLSの概要と仕組みについて解説します。

STARTTLSの概要

STARTTLSとは、暗号化されていない平文での通信を、SSL/TLSを利用した暗号化通信に切り替える仕組みのことで、通信経路を暗号化する技術です。STARTTLSをメール送信に利用することで、通信を保護する機能がないというSMTPの欠点を補い、安全なメールのやりとりが可能になります。

STARTTLSの仕組み

STARTTLSはプロトコルではなくコマンドです。SMTPでメールの送信を行う際、まず暗号化されていない状態で通信を開始し、途中でSTARTTLSコマンドを実行することで通信経路を暗号化します。その際の流れは下記の通りです。

① メールクライアントとメールサーバー間でTCP(Transmission Control Protocol)のコネクションを確立する。

② メールクライアントからメールサーバーに対して、SMTP拡張機能(SSL/TLSを使用するために必要なSMTPの拡張仕様)をサポートしていることを伝えるEHLOコマンドを送信する。

③ 通信先メールサーバーからEHLOへの応答が返却され、SSL/TLSに対応しているか判定する。

④ メールクライアントからメールサーバーに対して、STARTTLSコマンドを実行する。(相手がTLS非対応の場合にはTLSで暗号化せずSMTPの通信を継続する)

⑤ メールサーバーから正常の応答が返却されると、TLS接続が確立される。

⑥ 以降の通信が暗号化される。

このように、最初から全ての通信を暗号化するのではなく、宛先のメールサーバーがSTARTTLSに対応しているかどうかを確認し、対応している場合のみ暗号化を行うという動作になります。

SMTPSとの違い

なお、同じくメールの通信経路を暗号化する仕組みとしてSMTPS(SMTP over SSL/TLS)がありますが、SMTPSではまず最初にTLS接続を確立してから通信を行います。そのため平文での通信は行うことができないため、SMTPとは別に専用のポート(一般的には465番)を使用する必要がある(STARTTLSはSMTPと同じ25番ポートか587番ポートを使用)という違いがあります。

STARTTLSのメリット・デメリット

STARTTLSの具体的なメリット・デメリットについて見ていきましょう。

STARTTLSのメリット

STARTTLSのメリットは以下が挙げられます。

専用のポート番号が不要のためセキュリティを比較的安全に保てる

STARTTLSでは、SMTPと同じ25番もしくは587番ポートを使用します。暗号化通信のために専用のポートが不要であるため、ファイアーウォールなどのセキュリティ設定の負担も少なく済みます。

受信側が暗号化に対応していなくても送信自体は可能

通信の暗号化には、日和見TLSと強制TLSという仕組みがあり、STARTTLSでは日和見TLSを使用して暗号化を行います。日和見TLSとは、相手のサーバーがTLS非対応の場合、暗号化をあきらめ、平文での通信を行うというものです。この方式においては、通信先のメールサーバーの仕様に合わせて暗号化の可否を決め、いずれの状態でもメールの送信自体は可能であるという利点があります。

STARTTLSのデメリット

STARTTLSのデメリットとしては以下が挙げられます。

送信側と受信側の双方がSTARTTLSに対応している必要がある

STARTTLSで暗号化するためには、送信側と受信側の両方がSTARTTLSに対応している必要があります。受信側が非対応の場合は暗号化されないため、仮に送信サーバーでSTARTTLSの設定を行っていたとしても平文のままメールが送信されてしまう場合があります。

初期接続時の通信は暗号化されないため中間者攻撃を受ける可能性がある

STARTTLSでは、通信の開始から暗号化通信の確立までの間は暗号化が行われません。そのため、攻撃者によって暗号化を妨害されたり、中間者攻撃(※)を受けたりする可能性があります。

※中間者攻撃(Man-in-the-middle;MITM)とは、攻撃者がユーザーとその通信相手の間に割り込み、通信の傍受や改ざんを行う行為です。

まとめ

メール送信に利用されるプロトコルであるSMTPには、通信を暗号化する仕組みがありません。そのため、暗号化せずにメールを送信していると、通信を傍受することでメールを盗み見られる危険性があります。そうしたリスクからメールを守るために、STARTTLSを使用して通信を暗号化することが有効です。ベアメール メールリレーはSTARTTLSに対応していますので、安心してご利用いただけます。メール送信に課題をお持ちであれば、まずはお気軽にご相談ください。