DKIMとは?電子署名によるメールのなりすまし・改ざん対策をわかりやすく解説
はじめに
メールセキュリティを学んでいると、DKIMという言葉を見かけることがあります。
DKIMは、簡単に言うと、送信されたメールが正当な送信元から送られ、途中で改ざんされていないことを確認するための仕組みです。
この記事では、DKIMについて、会話形式で解説します。
DKIMって何?

DKIMは、DomainKeys Identified Mailの略だよ。

また難しい英語が出てきた。

日本語でざっくり言うと、メールに電子署名を付けて、送信元の正当性や改ざんの有無を確認する仕組みだね。

メールに電子署名?

そう。紙の書類に印鑑や署名をするように、メールにも“このメールはこのドメインから送られたものです”と確認できる情報を付けるんだ。
なぜDKIMが必要なの?

普通にメールを送るだけじゃダメなの?

メールは、送信者情報を偽装されやすい仕組みなんだ。

あぁ、そういえば最近それっぽいメールがたくさんくるなぁ

そう。例えば、見た目上は銀行や有名サービスから来たように見せかける迷惑メールやフィッシングメールがあるよね。

そうそう、そういう偽メールが最近来るんだよね。

DKIMは、そうしたなりすましや改ざんを見抜くために使われる技術の一つなんだ。

DKIMを手紙で例えると?

DKIMを手紙で考えてみようか。

手紙かぁ。手紙の偽装防止ってなんだろ?

会社から送られてきた重要な手紙に、会社の正式な印鑑が押されていたら、本物っぽいと判断しやすいよね。

そうだね。印鑑が押してあると安心感があるね。

DKIMは、メールにその印鑑のような電子署名を付ける仕組みなんだ。

じゃあ受け取った側は、その署名が正しいか確認するの?

その通り。署名が正しければ、メールが途中で改ざんされていない可能性が高いと判断できる。
DKIMの仕組み

DKIMはどうやって確認しているの?

ざっくり言うと、秘密鍵と公開鍵を使うよ。

秘密鍵と公開鍵かぁ。

送信側は、秘密鍵を使ってメールに電子署名を付ける。受信側は、DNSに公開されている公開鍵を使って、その署名を検証するんだ。

DNSに公開鍵を置くの?

そう。受信側のメールサーバは、送信元ドメインのDNSを確認して、DKIMの公開鍵を取得する。

それで、メールの署名が正しいか確認するんだね。

うん。署名の検証に成功すれば、そのドメインの秘密鍵で署名されたメールだと判断できる。
DKIMで確認できること

DKIMを使って確認できるのは?

主に次の2つだね
| 確認できること | 内容 |
|---|---|
| 送信ドメインの正当性 | そのドメインの秘密鍵で署名されているか |
| 改ざんの有無 | 署名後にメール本文や一部ヘッダーが変わっていないか |

送信元が本物っぽいか、途中で変えられていないかを見るんだ。

そう。ただし、DKIMだけで迷惑メールを完全に防げるわけではないよ。
DKIMのメリット
なりすまし対策になる

DKIMを使うと、送信元ドメインを偽ったメールを見抜きやすくなる。

フィッシングメール対策になるんだね。
改ざん検知に役立つ

メールが送信後に変更されていないか確認できる

途中で内容を書き換えられていないか分かるんだ。
メールの信頼性向上につながる

正しく設定されていると、受信側に信頼されやすくなる

企業のメール配信では大事そうだね。
DKIMのデメリット・注意点
設定ミスがあると認証に失敗する

デメリットはある?

DKIMはDNSやメールサーバの設定が必要だから、設定を間違えると認証に失敗することがある。

公開鍵の設定ミスとか?

そう。セレクタやTXTレコードの設定ミスもよくある注意点だね。
DKIMだけでは完全ななりすまし対策にならない

DKIMは重要だけど、単独では不十分な場合もある。

どうして?

DKIMは“署名したドメイン”を確認する仕組みだけど、利用者が見るFromアドレスとの整合性までは、DKIM単体では十分に判断しきれないことがあるんだ。

じゃあ他の仕組みも必要なの?

そう。SPFやDMARCと組み合わせることが多いよ。
SPF・DKIM・DMARCの違い

SPFとDMARCってなんだっけ?

ざっくりまとめてみるとこんな感じ。
| 用語 | 役割 | 確認すること |
|---|---|---|
| SPF | 送信元サーバの確認 | 許可されたサーバから送られているか |
| DKIM | 電子署名の確認 | 署名が正しく、改ざんされていないか |
| DMARC | SPF・DKIMの結果を使った方針管理 | 認証失敗時にどう扱うか |

SPFは送信サーバ、DKIMは電子署名、DMARCは全体のルール管理みたいな感じだね

DKIMの流れを整理

流れでもう一回整理したい。

DKIMの大まかな流れはこんな感じだよ。
- 送信側がメールに電子署名を付ける
- メールが送信される
- 受信側が送信元ドメインのDNSを確認する
- DNSから公開鍵を取得する
- 電子署名を検証する
- 問題なければDKIM認証成功と判断する

秘密鍵で署名して、公開鍵で確認するんだね。
試験対策としてのポイント
情報処理技術者試験やセキュリティ関連資格では、DKIMはメールセキュリティの文脈で出題されることがあります。
| 用語 | 試験対策ポイント |
|---|---|
| DKIM | メールに電子署名を付けて正当性や改ざんを確認する仕組み |
| 秘密鍵 | 送信側が署名に使う |
| 公開鍵 | DNSに公開し、受信側が検証に使う |
| SPF | 送信元メールサーバを確認する仕組み |
| DMARC | SPF・DKIMを利用して認証失敗時の扱いを決める仕組み |

試験では、DKIMは電子署名を使うメール認証技術と覚えればいい?

そうだね。SPFは送信元サーバ、DKIMは電子署名、DMARCは認証結果の扱い、とセットで覚えると分かりやすいよ。
よくある誤解
DKIMはメール本文を暗号化する仕組みではない

DKIMを使うと、メールの内容は暗号化されるの?

そこは誤解しやすいね。DKIMは暗号化ではなく、電子署名による認証と改ざん検知の仕組みだよ。

内容を隠すのではなく、本物かどうか確認するんだね。
DKIMだけで迷惑メールを完全に防げるわけではない

DKIMがあれば迷惑メールは全部防げる?

残念ながら、そうではないよ。DKIMは重要な対策だけど、SPFやDMARC、迷惑メールフィルタなどと組み合わせて使うことが大切なんだ。
DKIMの公開鍵はDNSに登録する

公開鍵はメール本文に入っているの?

公開鍵はメール本文ではなく、送信元ドメインのDNSに登録されるよ。受信側はDNSを見に行って検証するんだ。
まとめ
DKIMとは、メールに電子署名を付けて、送信元ドメインの正当性や改ざんの有無を確認する仕組みです。
メールのなりすまし対策やフィッシング対策として重要で、SPFやDMARCと組み合わせて使われることが多いです。
最後にポイントを整理します。
| 項目 | 内容 |
|---|---|
| 用語 | DKIM |
| 正式名称 | DomainKeys Identified Mail |
| 主な目的 | 送信元確認、改ざん検知 |
| 仕組み | 電子署名を使う |
| 公開鍵の場所 | DNS |
| 関連用語 | SPF、DMARC、電子署名、DNS |
| 覚え方 | メールに押す電子的な印鑑 |

DKIMは、メールに電子署名を付けて、本物かどうか確認する仕組みなんだね。

その理解でバッチリ。メールセキュリティでは、SPF・DKIM・DMARCをセットで覚えるとかなり理解しやすくなるよ。

