DKIM(DomainKeys Identified Mail)は、電子メールの送信元を検証し、メールの内容が改ざんされていないことを確認するための技術です。DKIMは、メールにデジタル署名を追加し、受信者がその署名を検証することで、送信元の正当性とメールの整合性を確認します。
経緯や歴史
DKIMは、2000年代初頭にYahoo!とCiscoによって開発されました。2007年にIETF(Internet Engineering Task Force)によって標準化され、現在では多くのメールサーバーで採用されています。
DKIMの仕組み
以下にDKIMの仕組みを説明します。
- 鍵の生成:
- ドメイン所有者は、公開鍵と秘密鍵のペアを生成します。公開鍵はDNS(Domain Name System)に公開され、秘密鍵はメールサーバーに安全に保管されます。
- メール送信:
- メールが送信されると、送信元のメールサーバーは秘密鍵を使用してメールのヘッダーや本文にデジタル署名を追加します。この署名は、メールの内容が改ざんされていないことを証明します。
- メール受信:
- 受信側のメールサーバーは、送信元ドメインのDNSから公開鍵を取得します。この公開鍵を使用して、メールに含まれるデジタル署名を検証します。
- DKIM検証結果:
- DKIM検証の結果に基づいて、受信側のメールサーバーはメールを受信するかどうかを判断します。DKIM検証結果には、以下の3つのステータスがあります。
- Pass: 署名が有効であり、メールの内容が改ざんされていないことが確認された場合。
- Fail: 署名が無効であり、メールの内容が改ざんされている可能性がある場合。
- Neutral: 署名が存在しないか、検証結果が不明な場合。
- DKIM検証の結果に基づいて、受信側のメールサーバーはメールを受信するかどうかを判断します。DKIM検証結果には、以下の3つのステータスがあります。
- メール処理:
- 受信側のメールサーバーは、DKIM検証結果に基づいてメールを処理します。通常、DKIM検証に失敗したメールはスパムフォルダに移動されるか、拒否されます。
メリットとデメリット
メリット:
- メールの送信元の正当性を確認できる
- メールの内容が改ざんされていないことを保証
- スパムやフィッシング攻撃の防止
デメリット:
- 設定が複雑で、誤設定によるメールの配信失敗のリスクがある
- DKIMだけでは完全なセキュリティを提供できないため、他の技術と併用が必要
他の類似案件との比較
DKIMに類似する技術として、SPF(Sender Policy Framework)やDMARC(Domain-based Message Authentication, Reporting & Conformance)があります。SPFは、メールの送信元IPアドレスを検証し、DMARCは、SPFとDKIMを組み合わせて、メールの認証と報告を行うためのポリシーを提供します。
代表的なシステムやツール
DKIMをサポートする代表的なメールサーバーには、Postfix、Exim、Microsoft Exchangeなどがあります。また、DKIM署名の設定を支援するツールとして、OpenDKIMやオンライン検証ツールがあります。