今回と次回を使って、内容を暗号化するDKIM(Domainkeys Identified Mail)について解説します。
DKIMは、RFC6376という文書で定義されています。
DKIMを設定する目的は、ヘッダーや本文内容の保全です。
強力な仕組みですが、専用のソフト(Postfix, OpenDKIMなど)やサーバインフラ技術が必要になります。
しっかり準備して挑みましょう。
記事の目的
- DKIMについて理解ができる
- メールが届かない問題を解決する
関連記事もチェックしよう!
- 【脱!迷惑メール地獄】さらっと理解する迷惑メール対策Vol.1 送ったメールが届かない時の4つの対策
- 【脱!迷惑メール地獄】さらっと理解する迷惑メール対策 Vol.2 – SPF 概要編
- 【脱!迷惑メール地獄】さらっと理解する迷惑メール対策 Vol.3 – SPF 設定編
- 【脱!迷惑メール地獄】さらっと理解する迷惑メール対策 Vol.4 – DKIM 概要編 ←今ココ
- 【脱!迷惑メール地獄】さらっと理解する迷惑メール対策 Vol.5 – DKIM 設定編 ←準備中
- 【脱!迷惑メール地獄】さらっと理解する迷惑メール対策 Vol.6 – DMARC 概要編 ←準備中
- 【脱!迷惑メール地獄】さらっと理解する迷惑メール対策 Vol.7 – DMARC 概要編 ←準備中
DKIMでメールの改ざんを防止(検知)しよう!
DKIMでは公開鍵暗号方式を使って、データの改ざん検知が可能です。
内容自体を暗号化する目的ではなく、メール内容のハッシュ値を利用します。
SPFが送信元の保全なら、DKIMは内容の保全です。
ぜひ両方設定の上メールを送信しましょう。
DKIMの認証は公開鍵暗号方式を使用する
DKIMでは、ハッシュ値を用いた公開鍵暗号方式で認証します。
SSL証明書とは異なり、外部の認証局は使用しません。
メールサーバに秘密鍵を、DNSに公開鍵を登録して認証します。
DNSに登録する公開鍵は、テキストレコードを使用する
SPFと同様で、公開鍵の登録はテキストレコードです。
DKIM専用レコードはありません。
前回記事の設定例でもありましたが、値の設定には専用の書式があります。
秘密鍵はサーバ側に大切に保管し、公開鍵をDNSに登録する流れです。
秘密鍵の管理について
秘密鍵の流出はタブーです。
権限(パーミッション)は、(400, 600)などの厳しいものを使いましょう。
400は所有者の読み取りのみ、600は読み書きまで許可したものです。
メールのソフトと鍵生成ソフトは別!使用には連携が必要!
メールサーバおよびメール送信ソフトと、DKIM生成ソフトは別々に必要です。
DKIMを設定した状態でメール送信をするには、連携が必要になります。
代表的なメールソフト
- postfix(centos7などにはプリインストール)
- sendmail
代表的なDKIM設定ソフト
- OpenDKIM
DKIMの役割は内容の保全。SPFとは役割が全く違うので注意しよう!
はじめは、DKIMとSPFの役割を混同しがちだと思います。
繰り返しになりますが、迷惑メール対策には両方設定すべきです。
SPFの役割
「本人」から送信されたかを認証する。
つまり、なりすましの防止がメインの役割。
DKIMの役割
「メール内容」の改ざんを検知する。
検知の対象には、ヘッダーも本文も含まれる。
つまり、送信された内容の保全がメインの役割。
違いについて、なんとなく分かったでしょうか。
現実ではそうそうありませんが、あえて例えるならば、
- 他人の住所と名前を勝手に使おうとする人→SPFで防止する
- 他人の封筒を使って、中身の手紙だけ入れ替えようとする人→DKIMで防止する
上記のような感じになると思います。
まとめ: DKIMでメール内容を守って、さらにメール到達率を上げていこう!!
迷惑メール対策は、SPF単体でもDKIM単体でも不十分です。
次のセクションで扱うDMARCまで対応して、初めて一人前と言えます。
ちなみにDMARCの普及率は、大企業(日経225)に対して2023年に実施したアンケートで7割弱の様です。
https://it.impress.co.jp/articles/-/24844
みんなやっているとまでは言えませんが、普及も進んでおり、あえて設定しない意味はありません。
できる時に、できることをやっておきましょう!
慣れないうちは、有名なレンタルサーバーがおすすめです。
最初から、メールなどの基本設定がされています。
AWSなどのクラウドサービスは、自由度が高ぎるため慣れないうちはおすすめしません。
一番大事なのは、「メールが正しく届くこと」。
自分の成長を確認しながら、着実に成果と実力を伸ばしていきましょう!