DKIMを1024bitから2048bitへ移行! OpenSSLでの鍵作成(秘密鍵・公開鍵)と安全な管理手順を解説
セキュリティ要件の厳格化に伴い、メール配信における送信ドメイン認証「DKIM」の鍵の長さを、従来の1024ビットからより安全な2048ビットへアップグレードする対応が急務となっています。
DKIMは電子メールの世界における「実印と印鑑証明書」のようなものです。より偽造されにくい複雑な実印(2048ビット)を用意することが、自社のブランド保護とメール到達率の維持に直結します。
今回は国内主要のメール配信システムを利用して、自社ドメインに2048ビットのDKIMを設定するための具体的な実践ステップを分かりやすく解説します。
「暗号鍵の作成」や「コマンド操作」と聞くと難しく感じるかもしれませんが、手順通りに進めれば非エンジニアの方でも確実に対応可能です。
安全な「電子実印」の作り方を見ていきましょう。
ステップ1:メール配信システムの対応状況を確認する
自社で新しい鍵を作り始める前に、最初に行うべき最重要チェックがあります。それは、現在利用中のメール配信システムが「2048ビットのDKIMに対してどのような対応をしているか」を把握することです。
システムによって対応は異なり、大きく以下の2つのパターンに分かれます。
メール配信システム側で自動生成してくれる
管理画面のボタン一つで2048ビットの鍵ペアを自動生成してくれる仕様です。1024ビットか2048ビットか選択ができるケースです。
この場合、自社で複雑な作業をする必要はありません。ESPの案内に従うだけで、最も簡単に移行が完了します。
自社で作成した秘密鍵をアップロードする(持ち込みタイプ)
システム側で自動生成されない場合、あるいは自社のセキュリティポリシーで「秘密鍵は社内で独自発行しなければならない」と定められている場合は、自社で2048ビットの鍵を作成し、システムに登録(インポート)する必要があります。
まずは自動生成してくれるか必ず確認してください。対応していないことが分かった場合にのみ、次のステップで解説する「自社での鍵作成」へ進みます。
※もし、自動生成も持ち込みもできず、1024ビットしか使えないシステムの場合は、メール到達率低下のリスクがあるため、最新システムへの乗り換えを検討すべきタイミングかもしれません。
ステップ2:鍵作成ツール「OpenSSL」の準備
自社で「秘密鍵(実印)」と「公開鍵(印鑑証明書)」のペアを作成するには、世界標準の暗号化ツールであるOpenSSL(オープンエスエスエル)を使用します。
お使いのパソコンのOSによって準備方法が異なります。
MacやLinuxをお使いの場合
ほとんどの場合、最初からOpenSSLがインストールされています。標準アプリの「ターミナル(Terminal)」を開くだけで、すぐに作業を始められます。
Windowsをお使いの場合
標準ではOpenSSLが入っていません。
インターネットから「OpenSSLインストーラー」をダウンロードして設定するか、「Git Bash」などをインストールしてコマンドを使える環境を整える必要があります。
社内の情報システム部門に環境準備を依頼するのが確実です。
ステップ3:コマンドプロンプトで鍵を生成する
準備ができたら、Windowsならコマンドプロンプト、Macならターミナルを開き、次のコマンドを打ち込みます。たった2行で強固な鍵ペアが完成します。
(1) 秘密鍵(実印)の生成
まずは大元となる実印を作ります。以下のコマンドをコピーして貼り付け、Enterキーを押してください。
これは「RSA方式で2048ビットの秘密鍵を作成し、private.keyというファイル名で保存する」という命令です。実行するとパソコン内にファイルが生成されます。
(2) 公開鍵(印鑑証明書)の抽出
次に、作った秘密鍵を元に公開鍵を取り出します。続けて次のコマンドを実行してください。
これは「private.keyから公開鍵のデータだけを抽出し、public.keyというファイル名で保存する」という命令です。
これで、これをメール配信サーバーに登録する「秘密鍵(private.key)」と、DNSサーバーに設定する「公開鍵(public.key)」の2つのファイルが手に入りました。
ステップ4:【重要】秘密鍵の安全な取り扱い
作成した鍵の運用において、絶対に守らなければならないセキュリティルールがあります。
「秘密鍵(private.key)」は、自社のドメインを証明する「会社の実印」そのものです。これが外部に漏洩すると、ハッカーが自社になりすまして迷惑メールやフィッシングメールを大量送信できてしまいます。
【参考】実際に生成される鍵ファイルのサンプル
コマンドを実行すると、メモ帳などのテキストエディタで開けるファイルが2つ作成されます。中身は以下のようなランダムな文字列(暗号データ)になっています。
秘密鍵(private.key)のサンプル
※セキュリティの観点から中身は一部伏せています。実際のファイルの中身は絶対に他人に教えたり、公開したりしないでください。
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC4xLcoeIWV0sUD
UctL/HmIV/MZkfp+ebBuIJ0aFi4E0UO4jh/a6T+PHrc4jgYLIaOjqMNM8DkSbr0X
[…中略…]
[…※この鍵は絶対に外部に公開しないでください…]
[…中略…]
y7myZRl+INqB3dxInsew0s8=
—–END PRIVATE KEY—–
⚠️ 秘密鍵を通常メールに添付して送受信するのは絶対にNGです!
通常のメールは途中で盗み見られるリスクがあります。担当者間で秘密鍵を受け渡しする際は、必ず安全な方法を徹底してください。
- アクセス権限が厳格に管理された社内のファイルサーバーを使用する。
- GoogleドライブやBoxなどを使用し、特定のアカウントしかアクセスできない共有リンクを発行する。
- やむを得ずファイルを送信する場合は、強固なパスワード付きの暗号化ZIPファイルにし、パスワードは別の経路で伝える。
公開鍵(public.key)のサンプル
こちらはDNSサーバーに登録して世界中に公開するための「印鑑証明書」なので、人に見られても問題ありません。この文字列から改行をなくし、必要な設定値(v=DKIM1; k=rsa; p=)を付け加えてDNSに登録します。
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuMS3KHiFldLFA1HLS/x5
iFfzGZH6fnmwbiCdGhYuBNFDuI4f2uk/jx63OI4GCyGjo6jDTPA5Em69F7oEGNJJ
cHI89vLPdKaWT56bJjC1fKN7FeUwPq6VrHlSRwZPdcMs0qyFrosjx0ZOeyAaD6YD
jrAN/m2lXPki7ml4KQZHthl6piSFHPi0N1C3jxpF9tUs6vHfe1b6CFgpRN+jMIXU
lFSqI/GlvR/F+Fp+1GuG1hUgXjV/UFlaiJmkjN71XuDSTJ6ujtnbunGGa9bCIt/U
saSssGjsjm3zpFSEEcqa4+fdlmnErVy3twl7MxUu/PGNKNezktfU64YTQo0bo9FC
sQIDAQAB
—–END PUBLIC KEY—–
鍵の作成自体は数分で終わりますが、その後の「厳重な管理」が企業のセキュリティを左右します。
ステップ5:DNSサーバーへ「公開鍵」を登録する
メール配信サーバーへの秘密鍵の登録が終わったらメール配信用ドメインを管理しているDNSサーバーへの公開鍵(印鑑証明書)の登録が必要です。
インターネット上の住所録であるDNSサーバーに、作成した「公開鍵(public.keyの中身)」をTXTレコードとして追加することで、初めて受信側のサーバーが「このメールは本物だ」と照合できるようになります。
「書き換え」ではなく「追加(キーローテーション)」が鉄則
ここで1点、非常に重要な注意点があります。
現在1024ビットのDKIMを既に運用している場合、現在のTXTレコードをいきなり新しい2048ビットの鍵に「書き換える(上書きする)」のは大変危険です。
DNSの情報がインターネット全体に浸透するまでに時間がかかるため、上書きしてしまうと、その間に送信されたメールが認証エラーとなり、迷惑メール扱いになってしまうダウンタイムが発生する恐れがあります。
安全に移行するためには、次のキーローテーションを行ってください。
- 現在のセレクタ(例:s1)のTXTレコードはそのまま残しておく。
- 新しいセレクタ(例:s2 や 202604 など)を使用して、2048ビットの公開鍵を新規のTXTレコードとして「追加」する。
- ESP(メール配信システム)側の署名設定を、新しいセレクタ(s2)に切り替える。
- 数週間後、古い鍵(s1)での認証が完全に行われなくなったことを確認してから、古いTXTレコードを削除する。
※DNS登録時の「255文字制限」に注意
2048ビットの公開鍵は文字列が約400文字と非常に長くなります。古い仕様のDNSサーバーでは「1つの文字列は255文字まで」という制限があるため、そのまま貼り付けるとエラーになる場合があります。
その際は、文字列をダブルクォーテーション(””)で囲み、スペースを挟んで複数に分割して登録する(例:"v=DKIM1; k=rsa; p=前半..." "後半...")などの工夫が必要になる点にもご留意ください。
最後に
自社で2048ビットのDKIMキーを用意し、運用開始するまでの手順をおさらいします。
- ESPが2048ビットの自動生成に対応しているか確認する。
- 自社作成が必要な場合は、OpenSSLが使える環境を準備する。
- コマンドを実行し、秘密鍵(実印)と公開鍵(印鑑証明書)のペアを生成する。
- 作成した秘密鍵は、厳重に管理しESPへ登録する。
- 公開鍵をDNSサーバーに「新しいTXTレコードとして追加」する。
この手順に沿って2048ビットの鍵へ移行することで、自社から送信されるメールの信頼性が格段に向上し、なりすまし被害を未然に防ぐことができます。メール到達率を維持するためにも、早めのアップグレードを実施しましょう。