図 送信者認証を実現する二つの方式
図 送信者認証を実現する二つの方式
[画像のクリックで拡大表示]

 送信者認証は,受信側メール・サーバーが送信元メール・サーバーの信頼性をチェックする技術である。メールの送信側と受信側の両方が対応することで成り立つ。迷惑メールやフィッシング・メールの多くは,他人のメール・サーバーを踏み台にしてメールを送りつけたり,送信元を詐称したりする。受信側メール・サーバーがメールを受信するときに送信元サーバーをチェックすることで,こうしたメールを排除できる。

 この送信者認証の実現手法は二つある。どちらも,送られてきたメールの送信元メール・アドレスにあるドメイン名(nnw@nikkeibp.co.jpならnikkeibp.co.jpの部分)を基にして,受信側メール・サーバーが送信元メール・サーバーの信頼性を確認する。違いは,送信元メール・サーバーのIPアドレスを確認するか,ディジタル署名を確認するかという点にある(図)。

 送信元メール・サーバーのIPアドレスを確認する方法では,以下のような流れになる。メールを送る側は,あらかじめ自ドメインのDNSサーバーに送信用メール・サーバーのIPアドレスを登録しておく。受信側メール・サーバーは,差出人のメール・アドレスのドメイン名からDNSサーバーにアクセスし,そこからIPアドレス情報を取得する。このIPアドレスが,今現在メールを送信してきているアドレスと一致すれば,送信元メール・サーバーは信頼でき,受信メールの送信者は詐称されていないと判断する。

 この方式の代表例は,SenderIDと呼ばれる方式である。SenderIDでは,ドメイン名を得るためのメール・アドレスとして,SMTP(simple mail transfer protocol)の「MAIL FROM」で通知されるメール・アドレスを使う方法と,メール本文に含まれているFromヘッダーのメール・アドレスを使う方法の二つを定めている。

 一方のディジタル署名で確認する方法は,公開鍵暗号と呼ばれる技術を使ってメールの送信元を調べる。メールを送る側は,あらかじめ自ドメインのDNSサーバーにディジタル署名を検証するための公開鍵データを登録しておく。そして送信側メール・サーバーは,メールを送信するときに,秘密鍵で作ったディジタル署名をメールに添付して送信する。受信側メール・サーバーは,差出人のメール・アドレスのドメイン名からDNSサーバーを探し,そこから公開鍵を取得する。そしてメールに付けられているディジタル署名がこの公開鍵で正しく復号できれば,送信元メール・サーバーは信頼でき,受信メールの送信者は詐称されていないと判断する。

 こちらの代表例は,DomainKeysと呼ばれる方法である。また,DomainKeysと別の仕様を統合したDKIM(DomainKeys Identified Mail)と呼ばれる仕様の標準化も進められている。