一般社団法人 全国個人事業主支援協会

COLUMN コラム

結論から言うと:

受信側は「秘密鍵なし」で同じハッシュ値を出せる。
でも「署名を作ること」はできない。

順番にいこう。


🔐 まず誤解が出るポイント

疑問:

受信側が受け取ったメーセージを複合して送信側と同じハッシュ値を出すには秘密鍵が必要じゃないの?

結論:

👉 違う。

ハッシュを出すのに秘密鍵は使わない。

ハッシュはただの:

hash(メール本文)

だから誰でも計算できる。

🧠 DKIMで実際にやっていること

少し正確に書くとこうなる:

送信側(例:SES)

① メール本文をハッシュ化

H = SHA256(メール本文)

② そのハッシュ値を「秘密鍵で署名」する

S = RSA署名(秘密鍵, H)

③ S を DKIM-Signature に入れる


受信側(例:Gmail)

④ DNSから公開鍵を取得

⑤ 署名を公開鍵で検証する

ここがポイント。

Gmailは:

H1 = RSA検証(公開鍵, S)

をやる。

これで「送信側が署名したハッシュ値」が取り出せる。


⑥ 受信メールを自分でもハッシュ化する

H2 = SHA256(受信した本文)

⑦ 比較

H1 == H2 ?

一致すればOK。


🎯 重要ポイント

処理 秘密鍵いる?
ハッシュ計算
署名作成
署名検証 ❌(公開鍵でOK)
The following two tabs change content below.

小久保 暁人

最新記事 by 小久保 暁人 (全て見る)

この記事をシェアする

  • Twitterでシェア
  • Facebookでシェア
  • LINEでシェア