DKIM(ディーキム)とは、送信するメールに電子署名を付与し、受信側でその署名を検証することで、メールが正規の送信元から送られたものであり、途中で内容が改ざんされていないかを確認するための送信ドメイン認証技術です。「DomainKeys Identified Mail」の略称で、送信ドメイン認証の代表的な仕組みのひとつとして広く使われています。
イメージとしては、DKIMは封筒に押す印鑑と封蝋です。送り主は自分だけが持つ印鑑で封をし、受け取った側は公開されている印影と照らし合わせます。印が一致すれば本人からのものと分かり、封が破られていなければ中身も無事だと確認できます。
SPFが「どこから送られたか」を確認するのに対し、DKIMはメールの中身そのものの正しさまで保証できるのが大きな違いです。
DKIMの仕組み
DKIMでは、対になった2つの鍵を使います。役割を整理すると次のとおりです。
| 鍵 | 役割 | 置き場所 |
|---|---|---|
| 秘密鍵 | メールに署名を付ける | 送信サーバー内で厳重に保管 |
| 公開鍵 | 署名を検証する | DNSのTXTレコードで公開 |
送信側は、メールを送る際に秘密鍵で署名を作り、見えない形でメールに添えます。受信側はDNSから公開鍵を取り出し、その署名が正しいかを確認します。一致すれば本物であり、改ざんもされていないと判断できる仕組みです。
SPFとの違い
SPFとDKIMは、どちらもなりすまし対策ですが、確認する対象が異なります。SPFは「送信元のサーバーが許可されたものか」を見るのに対し、DKIMは「署名が正しいか」を見ます。
この違いから、DKIMには実務上の利点があります。SPFはメールが転送されると認証に失敗しやすいのですが、DKIMの署名は転送されても保たれるため、より確実に本物だと示せるのです。両者は補い合う関係にあり、片方だけでなく両方を設定するのが望ましいとされています。
設定するうえでのポイント
DKIMの設定は、利用しているメール配信サービス側で鍵を生成し、指示された内容をDNSのTXTレコードに登録する流れが一般的です。注意したいのは秘密鍵の管理で、これが漏れると第三者に正規の署名を作られてしまいます。また、鍵は定期的に更新することが推奨されています。
DKIMのレコードは「セレクタ」と呼ばれる名前を付けて登録します。これによって複数の鍵を並行して運用でき、メール配信サービスを複数使う場合や、鍵を更新する際にも切り替えがスムーズに行えます。
なお、DKIMは「署名が正しいこと」は証明しますが、そのメールが安全な内容かどうかまでは保証しません。あくまで送り主と中身の同一性を確かめる仕組みである点は押さえておきましょう。近年は大手のメールサービスが送信側にDKIMの設定を求めるようになっており、事実上の必須項目となりつつあります。

コメント