概要

電子メールもWebアクセスと同じようにビジネスでもプライベートでも欠かすことができないアプリケーションです。ビジネスにおいては、重要な情報を電子メールでやり取りすることも頻繁に行われます。電子メールについてのセキュリティも十分に考慮する必要があります。

電子メールのセキュリティの概要について解説します。

SMTP/POP3のセキュリティの問題点

電子メールのプロトコルであるSMTPやPOP3には、あまりセキュリティ機能が備わっていません。SMTPでメールサーバにメールを送信しますが、特に認証など行いません。メールの暗号化も行なっていません。また、POP3でメールサーバからメールを受信します。この場合はユーザ認証を行いますが、認証パスワードの暗号化を行なっていません。そして、メールの内容の暗号化も行なっていません。

図 SMTP/POP3のセキュリティ上の問題点
図 SMTP/POP3のセキュリティ上の問題点

インターネットには、悪意を持ったユーザが数多く存在します。従来のSMTP/POP3では、メールの盗聴が簡単に行えてしまいます。特に公衆無線LANサービスでインターネットに接続して、SMTP/POP3でメールの送受信を行うと非常にリスクが大きくなります。公衆無線LANでは、無線LANのセキュリティがあまり強固ではない場合があります。脆弱な公衆無線LANの電波を傍受して、無線LANの暗号化を解読してしまえば、SMTP/POP3では暗号化をしていないので、メールの中身が簡単にわかります。

主な電子メールのセキュリティ

そこで、メールのセキュリティを高めるためのさまざまな機能が重要になってきます。主なメールのセキュリティ機能として、以下のようなものがあります。

  • メール送信のセキュリティ
    • Outbound Port 25 Blocking
    • SMTP Authentication
    • SMTP over SSL
  • メール受信のセキュリティ
    • SPF
    • APOP
    • POP3 over SSL
  • メール本文のセキュリティ
    • PGP
    • S/MIME

以降、上記の電子メールのセキュリティ機能について概要を解説します。

メール送信のセキュリティ

Outbound Port 25 Blocking(OP25B)/SMTP Authentication(SMTP Auth)

メールを利用すれば、非常に少ないコストで多くのユーザにメールを送信することができます。一人にメールを送信するのと1万人にメールを送信するのとでは、メールアドレスを指定する手間がかかる以外ほとんどコストは変わりません。とても低コストで多くのユーザにメールを送信できることを悪用している例が迷惑メールです。大量のメールアドレスを収集して、そのメールアドレス宛てに一斉に広告メールを送っています。メールアドレスの収集やメールの送信もソフトウェアにより自動化している例が多いです。

メールを送信するSMTPでは、認証を行なっていないため、迷惑メールの送信者がインターネット上のさまざまなメールサーバを介して、迷惑メールを送信しています。こうした迷惑メールの送信に一定の歯止めをかけるために、Outbound Port 25 Blocking(OP25B)という技術があります。OP25BとともにSMTPでユーザ認証を行うSMTP Authentication(SMTP Auth)も導入されることが多いです。

OP25Bは、インターネット接続サービスを提供するISPで利用します。SMTPの通信はポート番号25で、OP25BによってISPの外部(Outbound)へのSMTP通信(Port 25)を必要に応じてブロック(Blocking)します。SMTP通信をどこまでブロックするかは、OP25Bを設定しているISPによって異なります。

そして、OP25BによってSMTPの通信がブロックされる場合があるので、ポート番号を587に変更します。このポート番号587をサブミッションポートと呼びます。ポート番号を587に変えただけでは、メールサーバがこれまでと同じように迷惑メールの送信に悪用されてしまう可能性があるので、SMTP Authによるユーザ認証を行うようにしています。いまでは多くのISPがOP25Bを採用しているので、メールアカウントの送信メールサーバの設定ではポート番号25ではなく、587を指定します。

図 OP25Bの概要
図 OP25Bの概要

SMTP over SSL

SMTP over SSL(SMTPs)は、SSLによってSMTPの通信を暗号化します。これにより、送信するメールが盗聴されたり改ざんされたりしないようにします。SSLは電子証明書を利用した暗号化で、Webブラウザの通信を暗号化するHTTPSなどでも広く利用されています。

SMTPsを利用するにはメールソフトとメールサーバが対応していなければいけません。そして、SMTPsによる暗号化はほとんどの場合、PCと最初のメールサーバとの間だけです。メールを最終的なあて先に転送する際、メールサーバ間での転送もありますが、メールサーバ間でもSMTPsを利用していなければ暗号化されません。

メール受信のセキュリティ

SPF

SPF(Sender Policy Framework)は、メールの送信元の認証技術です。電子メールの送信元メールアドレスは自由に設定できます。そのため、迷惑メールや標的型攻撃メールで送信元メールアドレスを偽装したなりすましメールが多くなっています。SPFによって、メールに記されている送信元メールアドレスのドメインがなりすまされていないかどうかを確認します。SPFによる送信元メールアドレスの認証の手順は、次のようになります。

  1. SPFを導入するために、メール送信に利用するメールサーバ(SMTPサーバ)のIPアドレスをDNSサーバに登録します。DNSサーバに登録するレコードとTXTレコードまたはSPFレコードと呼びます。
  2. メールを受信したメールサーバがSPFに対応していれば、受信したメールのドメインのDNSサーバにドメイン内のメールサーバの情報を問い合わせます。
  3. DNSサーバがドメイン内のメールサーバの情報を返します。ドメイン内のメールサーバから送信されたメールであることが確認できれば、なりすましされていないメールとしてメールをあて先に配信します。確認できない場合は、メールをブロックするなどの処理を実行することができます。
図 SPFによる送信元メールアドレスの認証
図 SPFによる送信元メールアドレスの認証

このように、SPFによる送信元メールアドレスの認証は、各ドメインでメール送信に利用するメールサーバのホワイトリストとしてDNSサーバにTXTレコードを作成し、受信側でそのホワイトリストを参照するという仕組みです。そのため、単体のドメインだけでSPFを導入しても効果はありません。フレームワークとして多くのドメインでSPFを導入することではじめて効果的ななりすましメールの対策をとることができるようになるということに注意してください。

Authentication POP(APOP)

POP3でメールサーバからメールを受信するとき、ユーザ認証を行います。しかし、ユーザ認証のためのユーザ名やパスワードを暗号化しません。POP3のユーザ認証のやり取りを傍受されると、ユーザ名、パスワードが簡単にわかります。先ほども触れましたが、公衆無線LAN経由でPOP3によってメールの受信を行うとユーザ名、パスワードが第三者に知られてしまうリスクが大きいです。ユーザ名、パスワードがわかってしまうと、その後のメールがすべて第三者に読まれてしまいうことになります。

APOPはPOP3のユーザ認証の際に、パスワードをそのまま送信しないようにして、パスワードが第三者に知られてしまわないようにします。

POP3 over SSL(POP3s)

APOPは、認証の際にパスワードをそのまま送信しないようにするだけで、ダウンロードするメール自体の暗号化は行いません。POP3 over SSL(POP3s)によって、POP3の通信のやり取りをSSLで暗号化することで、メールの内容が第三者に知られないようにすることができます。

POP3sを利用するためには、SMTPsと同じようにメールサーバとメールソフトの両方で対応していなければいけません。また、通信が暗号化されるのもPCとメールサーバの間だけです。

メール本文のセキュリティ

SMTPsやPOP3sでメールの送受信のやり取りを暗号化しても、PCとメールサーバとの間だけです。メールを送信するときには、メールサーバ間でメールの転送を行うことがほとんどですが、メールサーバ間ではSMTPsではなく通常のSMTPで暗号化していないことがあります。また、メールのあて先のユーザがPOP3sではなく通常のPOP3であれば、あて先のユーザがメールを受信するときには暗号化されません。

そのため、単に契約しているISPのメールサーバとの間でSMTPsやPOP3sを利用するだけでは、メールの内容が第三者に覗き見される可能性がゼロになるわけではありません。

図 SMTPs/POP3sの限界
図 SMTPs/POP3sの限界

そこで、最終的なメールの受信者までの間で、第三者にメールの中身をのぞき見されないようにするためには、メールのメッセージ本文自体の暗号化を行う必要があります。メールのメッセージを暗号化するために、主に以下の2つあります。

  • PGP
  • S/MIME

PGPもS/MIMEもメールのメッセージを暗号化し、さらに電子署名を付加します。メッセージの暗号化や電子署名に公開鍵暗号方式を利用しています。メールの受信者は、電子署名によって、メールの送信者を確実に確認できます。また、メールの内容が改ざんされていないということもチェックできます。つまり、電子署名によりメール送信者のなりすましとメールの改ざんを防止できます。そして、メッセージを暗号化しているのでメールを盗聴されてもその内容が第三者に漏れることはありません。

図 メール本文のセキュリティの概要
図 メール本文のセキュリティの概要

PGPとS/MIMEの大きな違いは暗号化や電子署名に使う公開鍵の管理です。PGPでは、特定のユーザ間でお互いの公開鍵が信頼できるものとして管理します。一方、S/MIMEは認証局で公開鍵が信頼できるものであることを保証します。

PGPやS/MIMEでメールの送信者から受信者まで一貫して、メールのメッセージを暗号化してセキュリティを高めることができるのです。しかし、メールの送信者と受信者双方でPGPまたはS/MIMEに対応してなければいけないことに注意してください。

まとめ

ポイント

  • 従来の電子メールのSMTP/POP3にはセキュリティ上の脆弱性があります。
  • メール送信のセキュリティ機能として以下が挙げられます。
    • Outbound Port 25 Blocking
    • SMTP Authentication
    • SMTP over SSL
  • メール受信のセキュリティ機能として以下が挙げられます。
    • SPF
    • APOP
    • POP3 over SSL
  • メール本文のセキュリティ機能として以下が挙げられます。
    • PGP
    • S/MIME

セキュリティの基礎