メールの暗号化で使用されるSTARTTLSとは?仕組みや設定方法、メリット・デメリットを分かりやすく解説
メールの暗号化方式「STARTTLS(スタート ティ エル エス)」をご存じでしょうか。本記事では、「STARTTLS」の仕組みやメリット・デメリット、SMTPSとの違いなどについてご紹介します。
目次[非表示]
そもそもメールの暗号化とは?なぜ必要?
そもそも、なぜメールの暗号化が必要なのでしょうか。暗号化をしない場合、メールは平文(プレーンテキスト)のまま送信され、通信経路上で盗聴や改ざんがおこなわれてしまう可能性があります。特に、重要な情報や個人情報を含むメールが盗聴・改ざんされた場合、様々なリスクが発生します。例えば、企業の機密情報や個人情報が盗聴された場合、第三者への流出に繋がる大きな損害を被ることになります。
また、重要な取引情報が漏洩することで、企業の信用を失うことになるかもしれません。メールの内容が偽の請求書や不正なリンクなどに改ざんされた場合は、受信者が詐欺被害に遭うこともあります。メールの暗号化をすることで、通信内容が保護され、第三者による盗聴や改ざんが困難になるため、これらのリスクを回避することが可能となります。
企業や個人にとって、メールの暗号化は、今や重要なセキュリティ対策の一つなのです。
SSL/TLSとは?
SSL/TLSは、インターネット上の通信経路において、データを暗号化して送受信するプロトコル(仕組み)です。詳細にお伝えすると、SSL(Secure Socket Layer)とTLS(Transport Layer Security)は別物で、どちらもインターネット上のデータを暗号化して送受信するプロトコルではありますが、TLSはSSLの脆弱性を解決し誕生したSSLの進化バージョンにあたります。
現在はTLSが中心となっており、SSLは基本的に使用されていませんが、SSLという名称が広く普及しているため「SSL」や両方を指す「SSL/TLS」が使われています。
SSL/TLSで暗号化する方法
SSL/TLSは、Webサーバに通信などで利用されるHTTPなどのプロトコルと組み合わせることで、HTTPSなどの暗号化された通信を実現することができます。HTTPなどのプロトコルをSSL/TLSで暗号化するには、大きく分けて2つの方法があります。
■SSL/TLS通信が確立してから通信を開始する
1つ目は、SSL/TLSでの接続を試み、SSL/TLS通信が確立してから通信を開始する方法です。この場合、暗号化をおこなわない平文での通信と共存ができないため、既存の通信に利用していたポート番号とは別に、暗号化専用のポート番号が必要となります。
■通信の途中でSSL/TLSでの通信に切り替え
2つ目は、暗号化していない状態で通信を開始し、その途中でSSL/TLSでの通信に切り替える方式です。この際、切り替えのコマンド(指示)を出すために用いられるのがSTARTTLSで、この方式自体をSTARTTLSと呼ぶこともあります。
STARTTLSとは?
「STARTTLS」とは、インターネットを暗号化する技術「SSL/TLS」を利用し暗号化通信に切り替えをおこなう仕組みのことで、通信経路を暗号化する技術です。メールは、電子メールを送信する際に「SMTP」というプロトコルを使って配信します。
SMTPでは通信内容が暗号化されず平文のままメールを送信しますが、「STARTTLS」を活用することで、送信メールサーバから受信側のメールサーバまでの通信を暗号化します。そのため、通信の途中でのメール本文の盗み見や改ざん、ハッキングなどを防ぐことができます。
ただし、注意しなくてはならないのは「受信側のメールサーバがSTARTTLSに対応していること」が条件であることです。受信側が「STARTTLS」に対応している場合に、暗号化したメール送信が実現できますが、そうでない場合は平文で送られます。
STARTTLSの仕組みと暗号化の流れ
SMTPでメールの送信をおこなう際、まず暗号化されていない状態で通信を開始します。途中でSTARTTLSのコマンドを実行することで通信経路を暗号化します。
簡単に記載すると以下の通りです。
- メールクライアント(送信者)とメールサーバ間で接続をおこない、SSL/TLSを使用するために必要なSMTPの拡張仕様をサポートしている旨をメールサーバに送信します。
- 通信先のメールサーバから1)の返答をもらい、SSL/TLSに対応しているか判定します。
- SSL/TLSに対応している場合は、メールクライアントからメールサーバに向けて、STARTTLSで配信をおこなうコマンドを実行します。
もし、STARTTLSに対応していない場合、暗号化せずSMTPの通信を継続します。
- メールサーバから問題ない旨が返されると、TLS接続が確立され、以降の通信が暗号化されます。
上記のように、宛先のメールサーバがSTARTTLSに対応しているかどうかを確認し、対応している場合のみ暗号化をおこなうという仕組みになります。
STARTTLSの設定方法例(メール送信)
STARTTLSは、メールサーバで使用しているSendmailやExim、Postfixといった「MTA」(メール転送エージェント)の設定ファイルに追記する形で設定します。なお、設定内容はMTAやバージョン、使用しているOSによって異なるため、環境に応じた設定方法を確認してから対応しましょう。
例:MTAが「Postfix」の場合
【コマンド】
vi /etc/postfix/main.cf
【追記する内容】
smtp_tls_security_level = may
smtp_tls_loglevel = 1
smtp_tls_CAfile = /etc/pki/tls/cert.pem
【コマンド】
systemctl restart postfix
STARTTLSの3つのメリット
STARTTLSの3つのメリットをご紹介します。
データの暗号化によるセキュリティ強化
STARTTLSは、メールサーバ間の通信を暗号化することで、第三者によるデータの傍受や改ざんを防ぎます。 通信経路上のデータは暗号化され、受信者まで安全に送信されます。 これにより、機密情報や個人情報の保護が強化され、データ漏洩や不正アクセスのリスクが低減されます。
専用のポート番号が不要
STARTTLSは専用ポート番号を準備する必要がないこともメリットとして挙げられます。 通常、メール暗号化通信用と、暗号化していない通信用のポートをそれぞれ用意する必要があります。 しかし、STARTTLSでは、TLSプロトコルを用いているため、TLSをサポートしているSMTPと同じ25番もしくは587番ポートを利用することができます。 そのため、専用のポート番号を別途用意する必要がなく、既存の設定を変更するだけでセキュリティを向上することができます。 これにより、セキュアな通信環境の構築を簡単に進めることができます。
受信側が暗号化に対応していなくても送信できる
STARTTLSは受信側が暗号化に対応していなくても送信することができます。 送信側がSTARTTLSを有効にしてメールを送信した場合、受信側がSTARTTLSに対応していたら暗号化されメールを送信できますが、もし受信側がSTARTTLSに対応していない場合でも、通信は暗号化されずに継続されます。 STARTTLSは、送信先のメールサーバの仕様に合わせて暗号化の可否を決め、いずれの状態でもメールの送信自体は可能なため、柔軟に対応できます。
STARTTLSの2つのデメリット
メリットがある一方で、デメリットもあります。STARTTLSのデメリットを2つご紹介します。
送信側と受信側の両方がSTARTTLSに対応している必要がある
STARTTLSを利用して暗号化したメールを送受信するためには、受信サーバと送信サーバの両方がSTARTTLSに対応していなければなりません。 もし一方がSTARTTLSに対応していない場合は暗号化されないため、セキュリティの強化として不十分な場合があります。 特に古いメールサーバでは、STARTTLS化されていないこともあるので、メールを送信する前に送信先にSTARTTLSに対応しているかどうかを確認しておくと良いでしょう。
暗号化されているかどうかを確認できない
STARTTLSは、専用のポート番号が存在しないため、暗号化されているかどうかを確認する手段がないこともデメリットとして挙げられます。 また、STARTTLSは通信の途中から暗号化を開始するため、 メールクライアント(送信者)とメールサーバ間の最初の通信段階においては暗号化がおこなわれていません。 そこに悪質な妨害や盗聴が入ってきた場合には、被害を防ぐことができないという欠点があります。
STARTTLSとSMTPSの違い
SMTPS (SMTP over SSL/TLS)とは、STARTTLSと同様、メールの通信経路を暗号化する仕組みです。先にもお伝えした通り、SMTPではメールを送信する際に通信内容が暗号化されず平文のままメールを送信しますが、SMTPSを利用することにより通信内容を暗号化してメールを配信できます。
SMTPS は最初にTLS接続を確立し、通信の開始から終了まで暗号化する一方で、STARTTLSは通信の開始から途中までは暗号化せず、受信側の環境によって、途中から最後までを暗号化するか否かが決まります。
通信の開始から終了まで暗号化するSMTPSの方が安全性は高いですが、受信側がSMTPSに対応していない場合、メールが届かない可能性があるため、注意が必要です。
また、後述しますが、STARTTLSの場合、専用のポート番号が不要となりますが、SMTPSの場合は専用のポート(一般的には465番)を使用する必要があります。
「STARTTLS」に対応しているメールサーバは?
日本国内で対応しているのは、Gmail、Yahoo! Mail、Outlook.com、AOL Mailなどです。(2023年5月29 日時点)特にGmailが対応したときには、「STARTTLS」の存在が大きな話題になりました。
■グーグル、「Gmail」で非暗号化受信メールに警告表示へ [cnet Japan]
こういった大手のメールサービス提供企業が対応をとることのインパクトはかなり大きいですし、現にグーグル社としても、メールユーザ全般へのセキュリティ強化の啓発という思いがあったようです。
そのため、Gmailで「STARTTLS」に対応していないメールを受信すると、下の図のようにわかりやすい警告が出ます。赤い南京錠がはずれたマークです。そして、南京錠のマークにカーソルを合わせると「このメールは暗号化されませんでした」とも表示されます。
自社のメール配信に、「STARTTLS」を活用するには?
「STARTTLS」は、「『STARTTLS』に対応したメール送信サーバ(エンジン)を利用すること」で取り入れることが可能です。メール配信システムを導入する際は、「STARTTLS」に対応しているかどうかを確認した上で選定をおこないましょう。
ただし、「STARTTLS」も、決して万能なセキュリティ対策ではありません。先述したとおり、TLS暗号化されたメールをユーザまで届けるには『受信側のメールサーバが「STARTTLS」に対応していること』が条件です。そのため、STARTTLSに100%依存せずに、特徴の異なる複数の対策をとりましょう。本当の意味での対策・活用につながります。
なお、アララが提供するメール配信サービス「アララ メッセージ」も、「STARTTLS」に対応しています。他にも「SPF」や「DKIM」、「S/MIME」などメールセキュリティに関わる数多くの機能を有しています。
もし「メールを暗号化して送りたい」「迷惑メール扱いされて困っている」などメール配信のセキュリティに課題をお持ちでしたら、お気軽にお問い合わせ下さい。
ドメインへの対策方法
STARTTLSの他に、SPFやDKIM、DMARCといった送信ドメイン技術もあります。
DKIM |
SPF |
DMARC |
|
特徴 |
送信メールに電子署名を付与して、なりすましメールでないことを証明 |
メール送信元のIPアドレスで、なりすましメールか否かを判断 |
SPF・DKIMの認証結果をもとに、メールの扱い方法を設定 |
設定の難易度 |
最も簡単で手間がかからない |
SPFより設定の手間がかかり、専門知識も必要 |
最も専門知識を必要とし、設定の負担も大きい |
対策の有効性 |
SPFより有効 |
3つのうちでは最も有効性は限られる |
最も有効 |
まとめ
受信側のメールサーバまでの通信を暗号化する「STARTTLS」。通信の途中でのメール本文の盗み見や改ざん、ハッキングなどを防ぐことができます。万一、改ざんやハッキングに遭い、ユーザの信頼を失ってからでは遅いです。
セキュリティ対策は、「できることからすぐ対応」「気づいたときにすぐ対応」していくことが大切です。ただし、一つの対策に頼りすぎることも良くありません。特徴をつかみ、適切な対策をとった上で、安心・安全なメール配信をしていきましょう。
■その他セキュリティ対策記事
・SPFとは?迷惑メール対策に
・DKIMとは?迷惑メール対策に
・S/MIMEとは?電子メールのセキュリティ対策!
関連コラム