日経 NETWORK
意外に知らない 電子メールの仕組み    
2015/07/31     北郷 達郎    

 電子メールは、現在最も広く一般的に普及しているコミュニケーション・ツールと言っても過言ではないだろう。 LINEやFacebookといったSNSの方が利用時間が長く メールよりもSNSの方が連絡が取りやすいという利用者も増えている。 しかし「誰でも使える」という点では、やはりメールに分がある。
例えば携帯電話には、もれなくメール機能が付いてくる。 2015年6月に総務省が発表した携帯電話の契約数は1億4998万で、日本の人口を超えている。
筆者のように3台(ガラケーとiPhone、Android)持ち歩いていたり、なかには5台以上使っているという利用者もいる。 しかしそれは特殊なケースで、実態として日本人のほぼ全員が携帯電話を持っていると言ってよい。 つまり日本人ほぼ全員が“電子メールReady”な状態にあるわけだ。

もう1つあるのはWebメールの普及。 米グーグルの「Gmail」や米マイクロソフトの「Outlook.com」など、比較的手軽にメールアカウントを作成できる。
こうしたWebメールサービスに限らず、SNSやオンラインショップなど、大半のサービスがメールアドレスをアカウントの認証に利用している。

その結果として、メールは一種の社会インフラとして機能している状況にある。これも、誰もが使えるツールであればこそと言えるだろう。

メールが届くには時間がかかる

 しかし、これだけ普及している割に、意外にその仕組みについては知られていないのが現状だろう。
例えばメールは送信した瞬間に届くと思われがちだが、実際にはそれなりの遅れがある。
1990年代のインターネット初期にメールを使ったユーザーであれば、場合によっては1時間から1日近くかかってようやく届いたなどという経験もあるだろう。 電話でメールを送る約束をして、話しているうちに届けば、「おお、結構ネットワーク的に近いですね」などと会話した記憶もある。

こうした遅延が発生する理由はその仕組みにある。まず、メールが複数のサーバーを経由して届く点だ。
メールはクライアントを出発し、最低でも2台のサーバーを経由して宛先のクライアントまで届けられる。 メールクライアントからメールを受け取ったサーバーは、メールの宛先のドメイン名から転送先のメールサーバーのIPアドレスを知り、宛先のメールサーバーにメールを転送する。
その宛先のメールサーバーは、受信者が受け取りに来るときに備えてそのメールを保存しておくという流れになる。
ここで実際にはサーバー2台でなくて、負荷分散などのために、複数のメールサーバーを経由して送られる。
それでも経路上のメールサーバーの負荷が高ければ、メールの転送処理の開始が遅れ、遅延が発生する可能性がある。
メールサーバーは一定以上の負荷がかかると、転送処理を保留し、一定時間をおいてから再送信する仕組みになっている。 送ったメールによって届く時間がまちまちになったりすることがあるのは、このためだ。

メールクライアント(MUA)がメールサーバーにアクセスし、メールを送信したり受信したりする。
メールサーバーは大きく、MTAとMDA、MRAの3つの役割がある。一般的に「メールサーバー」と呼ぶとき、
これら3つの役割をまとめたものを指すことが多い。
実際には複数のソフトが動作してメールサーバーを実現している。

もう一つが、メール転送にSMTP(Simple Mail Transfer Protocol)を使っていること。
これはメールクライアントがメールを送信する際に利用するプロトコルと同じだ。つまり、原則的に転送は1通ずつ転送される。
このことは、大量のメールを送信する処理でも、メールサーバーは1通ずつメールを取り出して処理することを意味している。
例えば弊社のメール配信システムだと、予約した時刻の30分〜1時間前には送信するメールの編集ができなくなる。 それくらいの時間から処理を始めないと、1通ずつ処理するため、予約した時間にメールの送信が完了できないためだ。

ようやく普及期に入った送信ドメイン認証技術「DKIM」

 もう一つ重要な技術を紹介しておこう。
以前に比べ迷惑メールが減っている印象を持つユーザーも多いだろう。 実際、インターネットイニシアティブ(IIJ)が発表したデータでは、2009年に80%近くを占めていた迷惑メールが、2014年度には30%台にまで下がったという。
総務省が発表した統計だと値は異なるが、2009年には75%あった迷惑メールが2014年には60%まで減少しており、いずれも減少傾向にあることは一致している。
このように迷惑メールが減少した背景には、送信ドメイン認証の普及があると考えられる。
メールのプロトコルやヘッダー情報に記述する送信元ドメインは、いくらでも詐称が可能であり、実際に誰がどこから送ったかが分からないのが現状だ。
迷惑メールを出す悪意あるユーザーは、このことを利用して信頼のおけるユーザーから届いたメールだと勘違いさせて、ユーザーにメールを閲覧させようとする。
送信ドメイン認証を使えば、こうした迷惑メールを弾くことができるのだ。

送信ドメイン認証には大きくSPF(Sender Policy Framework)/Sender IDとDKIM(DomainKeys Identified Mail)がある。
SPF/Sender IDは送信元のIPアドレスと、DNSのMXレコードに登録されたIPアドレスが一致するかを判定する技術。 比較的導入が簡単で、送信側のメールサーバーのIPアドレスをDNSサーバーに登録すれば基本的に完了だ。
このため、総務省のデータによるとSPFの認証で「NONE」(未登録)とされたメールは流量の5.39%となっていて、90%を超えるドメインがSPF/Sender IDに対応していることがわかる。

認証に必要な情報を送信元のメールサーバーが付与し、それを受信するメールサーバーが検証する。
DNSサーバーにあらかじめ送信元の検証に必要な情報を登録してあるのがミソだ。
DNSサーバーに登録できるのは、送信元の管理者だけだからだ。

これに対しDKIMは、電子証明書を使って送信元を認証する技術だ。 DKIMはメールのヘッダーと本文を使って証明書を作成するので、メールの改ざんへの対策としても有効である。
基本的にSPF/Sender IDよりも強力だが、そのぶん導入に手間もかかる。
DKIMの最大の課題は普及率にあると言われていた。実際2011年11月時点でWIDE Projectの調査によると、DKIMの普及率はJPドメインの1%未満だった。
調査元は異なるが、2014年12月には総務省の調べで38.56%のサイトがDKIMの認証を通過しており、かなり浸透していることが分かる。

今後は普及率がさらに高まり、SPFのように90%以上を超えれば、より自動的で強固な迷惑メール対策としてDKIMを利用できるようになるだろう。
実際、DMARC(Domain-based Message Authentication,Reporting and Conformance)のように、SPFやDKIMで認証に失敗したメールを受け取ったときに、どう処理してほしいかを 送信元から指定する取り組みも始まっている。
これは、なりすましメールから自社のドメインを守る仕組みである。
電子メール自体は古い技術をベースとしているが、新しい技術を取り入れて時代の要請に合わせて変化しているのだ。