このページの本文へ

週刊セキュリティレポート 第43回

電子メールのセキュリティ技術 その3

SPFに続くメールなりすまし防止技術「DKIM」とは?

2012年05月21日 06時00分更新

文● 富安洋介/エフセキュア

  • この記事をはてなブックマークに追加
  • 本文印刷

 前回は、SPFというメール送信元のなりすましを防ぐ技術を紹介しました。今回は、SPFと並ぶ技術である「DKIM(Domain Keys Identified Mail)」を紹介します。

メールにもデジタル署名を

 DKIMは、米シスコシステムズが提唱していた送信元認証技術「IIM(Identified Internet Mail)」と、米Yahoo!提唱の「Domain Keys」を統合し、2007年にIETF(Internet Engineering Task Force)により「標準化提案」として承認されました。DKIMは、送信元メールサーバーが、メールに「DKIM-Signature」というヘッダーを追加し、宛先サーバーがそれを検証することによって、送信元の認証を行ないます。

 DKIM-Signatureには、メールのヘッダーと本文を元にして作成された電子署名が含まれます。公開鍵はDNSサーバーにより公開され、宛先メールサーバーはDNSサーバーに公開鍵を問い合わせを行ない、受け取ったメールの電子署名からハッシュを取り出します。取り出したハッシュと受信メールから作成したハッシュを比較し、照合するという手順です。

DKIMヘッダーの例

 公開鍵をDNSサーバーから取得する際に、どのドメインレコードを参考にするかは、DKIM-Signatureに書かれているドメイン名により決定されます。しかし、DKIM-Signatureに記載されるドメイン名は、ヘッダーのFromに書かれるメールアドレスとは独立しているため、両者が食い違う可能性があります。DKIMでは食い違った場合を「Third Party Signature」、一緒だった場合を「First Party Signature」と呼んで区別しています。

 First Party Signatureで照合に成功した場合は、疑わしい部分がないものとして扱います。一方、Third Party Signatureの場合は、ヘッダーのFromアドレスに記載されているドメインの「Author Domain Signing Practices(ADSP)」レコードをDNSに問い合わせます。ADSPにはThird Party Signatureの場合にどう取り扱うかうべきかという情報が記録されています。たとえば、他のドメインによって署名されるような運用をしているのであれば、Fromアドレスのドメインの管理者はADSPにThird Party Signatureを受け入れるように記載を行なう必要がありますし、逆に他のドメインによって署名されるような運用をしていないのであれば、Third Party Signatureのメールを破棄するようにADSPに記載する必要があります。

初出時、Third Party Signatureの場合には「SSP」を使うと説明していましたが、正しくは「ADSP」となります。お詫びし、訂正させていただきます。(2011年5月30日)

DKIMの仕組み

DKIMの弱点

 DKIMの最大の弱点は、現時点ではSPFほど導入が広まっていないことです。SPFと同様に、DKIMの仕組み上、受信側だけがDKIMのチェックを行なうだけでは効果が薄く、多くの送信者がDKIMに対応するようになって初めて、効果的な利用が可能となります。WIDEプロジェクトの調査によると、JPドメインにおけるSPFの普及率は2011年11月時点で43%程度であるのに対し、DKIMは1%未満に過ぎません。ですので、DKIMがないからといってすぐに破棄をするような運用は、現時点では現実的ではないでしょう。

 また、メールのヘッダーと本文を元にした電子書名を行なうという技術の特性上、メールの内容変更を許容できないという制限もあります。一見、改ざん防止にも利用できるため有用に思えますが、メーリングリストでは件名のヘッダーが書き換えられることが多いため、DKIMの認証に失敗してしまいます。ゲートウェイ型のアンチウイルスで、検査結果をメールに挿入する場合も同様にDKIMの認証に失敗すると考えられます。

 DKIMについても、自社での実施有無にかかわらず、DNSへのレコード登録を行ない普及率を上げていくことが望ましいといえます。

筆者紹介:富安洋介

エフセキュア株式会社 テクノロジー&サービス部 プロダクトエキスパート
2008年、エフセキュアに入社。主にLinux製品について、パートナーへの技術的支援を担当する。


カテゴリートップへ

この連載の記事