スパムメールとは?(8) DomainKeys
『DomainKeys とは?』
昨日のSenderIDと並んで、システム側のスパム対策として注目されているのがこの「DomainKeys」です。
SenderIDでは受信側のサーバが、そのメールはちゃんとしたSMTPサーバから送られてきているかどうかを、SPFというリストをもとに判別するという説明をしましたね。
そのSPFにはドメイン名に対して、サーバの「IPアドレス」が書かれていますので、SenderIDのことを、「IPベースの認証」といいます。
こうすることで、スパム送信者が不正にメールサーバを利用するのを防ぐわけです。
でもこの場合、SPFに登録されているIPアドレスを持つサーバ以外からはメールを受け取れないといったデメリットもあります。
これに対して、DomainKeysは、「暗号化ベースの認証方式」といわれます。
DomainKeysでは、SenderIDと同じように、受信するときにちゃんとしたSMTPサーバかどうかを判別するんですが、その判断の基準に「電子署名」というものを利用します。
■「mecha-security.com」から「yahoo.com」に送信する時の流れ
1. まず、mecha-security.com のSMTPサーバは、自分のドメイン用の「秘密鍵」と「公開鍵」の2つのペアのカギを作ります。
2. その2つのカギのうち、公開鍵をインターネットに公開します。
※具体的にはインターネット上のDNSサーバなどに置きます。
3. mecha-security.com から yahoo.com へメールを送信します。
4. この際、mecha-security.com のサーバは、さっき作った秘密鍵で作った署名を、メールにくっつけて送ります。
※ちなみにこの署名は、秘密鍵によって暗号化されています
5. メールを受け取った yahoo.com は、その署名が本物かどうかを、インターネット上にある公開鍵を使ってチェックします。
※秘密鍵で作った署名は、そのペアである公開鍵を使ってのみ本物かどうかをチェックできるという仕組みになってます
6. 署名が本物であれば yahoo.com はメールを受け取ります。
といったようなイメージです。
SenderIDにしろDomainKeysにしろ、SMTPサーバ側がこれらに対応している必要がありますので、まだまだ普及率は少ないようです。
普及が進めば、ある程度のスパムは防げると思いますが、まだもうちょっと先の話になりそうです。