DKIM とは何ですか? 電子メールのセキュリティをどのように強化できますか?
公開: 2023-08-18信頼できる送信元から悪意のあるフィッシング詐欺であることが判明した電子メールを受け取ったことがありますか?
これは、銀行からであるかのように見せかけた手紙を受け取るようなものですが、これは個人情報をだまし取ろうとする巧妙な偽造です。 そこで、 DomainKeys Identified Mail (DKIM)が登場します。
クレジット カードのホログラフィック シールや通貨の透かしと同様、DKIM は送信者の正当性を検証し、メッセージが改ざんされていないことを保証する電子メール認証プロトコルです。
Domain-Based Message Authentication, Reporting, and Conformance (DMARC) ソフトウェアを利用して電子メール通信を保護すると、不審な電子メール アクティビティをブロックし、セキュリティを強化できます。 DMARC ソフトウェアは、DKIM および送信者ポリシー フレームワーク (SPF) 標準に基づいて電子メールを認証するのに役立ちます。
DKIMとは何ですか?
DKIM は、電子メールのセキュリティを強化し、電子メールのなりすましやフィッシング攻撃を防止するために設計された電子メール認証方法です。 これにより、送信者は秘密暗号キーを使用して電子メールに署名し、一意の DKIM 署名を電子メールのヘッダーに追加できるようになります。 次に、受信者の電子メール サーバーは、ドメイン ネーム システム (DNS) 経由で送信者の公開キーを検索して署名を検証します。
このプロセスは、電子メールが転送中に改ざんされておらず、主張された送信者に関連付けられた IP アドレスから発信されたものであることを署名によって証明するため、電子メールの信頼性と完全性を保証するのに役立ちます。
DKIM は、最新の電子メール インフラストラクチャに不可欠な部分です。 SPF やDMARCなどの他の認証方法と組み合わせると、より安全で信頼できる電子メール エクスペリエンスを確保できます。
DKIM が重要なのはなぜですか?
DKIM は、電子メールのセキュリティに関連する複数の利点をエンド ユーザーに提供する重要な電子メール認証方法です。
- 電子メールの信頼性: DKIM は暗号署名を使用して送信者のドメインを検証し、受信者の電子メール システムが送信者の身元を確認して電子メールの内容を信頼できるようにします。 これにより、権限のない第三者が電子メールを偽造したり、ドメインに代わって電子メールを送信したりすることを防ぐことができます。
- 電子メールの整合性: DKIM メカニズムは、電子メールの選択された部分に署名することで、送信中に電子メールが改ざんされないことを保証します。 受信者の電子メール システムは、署名部分の内容が送信者のシステムから送信されてから変更されていないことを確認できます。 これは、電子メール通信の信頼性を維持するのに役立ちます。
- 電子メールの到達性:電子メールを認証し、その整合性を証明することで、DKIM は電子メール受信者が正規の電子メールとスパムやフィッシングメールを区別できるようにします。 これにより、メールボックス フィルタリング アルゴリズムが改善され、正規の送信者への配信可能性が向上します。 有効な DKIM 署名を持つ電子メールは、スパムとしてマークされたり拒否されたりするのではなく、受信者の受信トレイに届く可能性が高くなります。
- スパムおよびフィッシング攻撃の削減:電子メール セキュリティ戦略の一環として DKIM を実装すると、受信者が悪意のある電子メールをより効果的に特定してブロックできるようになり、スパムおよびフィッシング攻撃の成功率が低下します。
- SPF および DMARC と連携: DKIM は、SPF レコードや DMARC などの他の電子メール認証標準と併用して、包括的な電子メール セキュリティ エコシステムを作成できます。 これにより、送信者のドメインの評判と電子メールの到達可能性がさらに強化されます。
要約すると、DKIM は、電子メールの信頼性と整合性を確保しながら、正規の送信者への到達性を向上させ、スパムやフィッシング攻撃の効果を軽減するのに役立つため、非常に重要です。
DKIMの仕組み
DKIM は、暗号デジタル署名を使用して送信者のドメインを認証し、電子メールの整合性を確保します。 暗号デジタル署名は、データの信頼性を検証するために使用されます。 これは、受信者の電子メール サーバーによって検証されたデジタル署名を使用して送信電子メール メッセージに署名することによって機能します。 さらに、DKIM は、メッセージが送信中にまだ変更されていないことを検証します。
ここでは、DKIM がどのように機能するかを段階的に説明します。
- 送信者の電子メール システム (Mail Transfer Agent) は、送信電子メールごとに一意の DKIM 署名を生成します。 これは次のように行われます。
- 署名する電子メールのヘッダーと本文を選択します。
- 暗号化ハッシュ関数を使用して、選択した部分をハッシュします。
- 送信者のドメイン固有の秘密キーを使用してハッシュを暗号化します。
- 生成された DKIM 署名は電子メール ヘッダーに追加され、電子メールは受信者に送信されます。
- 受信者の電子メール システムは、電子メールを受信すると、電子メール ヘッダー内のDKIM 署名を確認します。
- DKIM 署名が存在する場合、受信者の電子メール システムは、送信者の公開キー (送信者の DNS レコードから取得) を使用して署名を復号します。
- 次に、受信者の電子メール システムは、選択された部分を再ハッシュし、新しいハッシュを DKIM 署名から抽出したハッシュと比較します。
- ハッシュが一致する場合、電子メールは改ざんされておらず、送信者のドメインから送信されたことを意味します。 電子メールは本物とみなされ、受信者のシステムは配信を続行します。
- ハッシュが一致しない場合、または DKIM 署名がない場合、電子メールは不審としてマークされるか、受信者の電子メール システム セキュリティ ポリシーに従って処理される可能性があります。
DKIM は、暗号化ハッシュと公開/秘密キー暗号化の組み合わせを活用することで、送信者のドメインを認証し、電子メールの整合性を維持するための信頼できる方法を提供します。
電子メール メッセージの信頼性を検証する方法を提供することで、電子メール全体のセキュリティを強化し、信頼できる電子メール通信を確保するには、ユーザーが他の電子メール認証方法と組み合わせて DKIM を組み込む必要があることに注意することが重要です。
ドメインに DKIM を設定する方法
カスタム ドメインに DKIM を設定するには、次の一般的な手順に従います。
- 公開鍵と秘密鍵のペアを生成します。 まず、OpenSSL などの任意のツールを使用して公開鍵と秘密鍵のペアを生成します。
- ドメインの DNS を構成します。 ドメインの新しい TXT DNS レコードを作成し、そこに公開キーを公開します。
- DKIM 署名を有効にします。 電子メール ソフトウェアで DKIM 署名を有効にし、セレクター (TXT レコードのプレフィックス) と秘密キー ファイルの場所を入力します。
具体的な手順やコマンドは、電子メール サービス プロバイダーやソフトウェア/プラットフォームによって異なる場合があることに注意してください。 詳細な手順については、プロバイダーが提供するドキュメントを参照するか、特定のチュートリアルに従ってください。
DKIMレコードとは何ですか?
DKIM レコードは、送信者のドメインの DNS で作成される TXT レコードです。 これは、電子メール ヘッダーで DKIM 署名を生成するために使用される秘密キーに相当する公開キーとして機能します。
DKIM レコードの主な目的は、受信者の電子メール システムが受信電子メール内の DKIM 署名を復号化および検証するために送信者の公開キーを取得できるようにすることです。
DKIM レコードは通常、次の構造になっています。
- ドメイン。 DKIM レコードにリンクされたドメイン。通常は selector._domainkey.example.com の形式になります。「selector」は複数の DKIM キーを区別するためにドメイン所有者によって選択された識別子で、「example.com」は送信者のドメインです。
- タイプ。 DKIM レコードの場合は常に TXT として設定します。
- 価値。 DKIM レコードの値には、バージョン、鍵タイプ、アルゴリズム、公開鍵、その他のオプションの要素を含む DKIM 鍵情報が含まれます。
送信者の DNS で DKIM レコードを利用できるようにすることで、受信者の電子メール システムは DKIM チェックを実行し、受信した電子メールの信頼性と整合性を検証でき、最終的には電子メールのセキュリティを向上させ、電子メールのなりすましやフィッシング攻撃を減らすことができます。
DKIMレコードの設定方法
DKIM レコードの設定は、使用している電子メール システムと DNS プロバイダーに大きく依存します。 ただし、一般的な手順は次のとおりです。
- DKIM キーを生成します。 最初のステップは、DKIM キーのペア (秘密キーと公開キー) を生成することです。 通常、これは電子メール システムで行います。電子メール システムには、通常、DKIM キーを生成するためのツールまたはオプションがあります。 これらのキーを生成すると、秘密キーが電子メール サーバーにインストールされ、公開キーは DNS に DKIM レコードを作成するために使用されます。
- DKIMレコードを作成します。 公開キーを取得した後、ドメインの DNS に DKIM レコードを作成する必要があります。 DKIM レコードは TXT レコードです。 レコードを作成するときは、セレクター (キーの識別子) と公開キーを指定する必要があります。
DKIM レコードの形式は通常次のようになります。
Selector._domainkey.yourdomain.com 、 selector は選択した識別子、 _domainkeyはレコードの定数部分、 yourdomain.com はドメインです。
TXT レコードの値には、次のような形式の DKIM バージョン、キー タイプ、および実際の公開キーが含まれます。
v=DKIM1; k=rsa; p=あなたの公開鍵
実際の公開キーの部分をyour_public_keyと書かれた部分に挿入します。 - DKIM レコードを公開します。 正しい値を使用してレコードの設定が完了したら、それを公開する必要があります。 これには通常、レコードを保存するか、DNS システムの「公開」ボタンをクリックすることが含まれます。
- DKIM レコードを確認します。 DKIM レコードが正しく機能していることを確認するには、DKIM の検証が重要です。 多くの電子メール システムには、DKIM レコードのステータスを確認できる検証ツールが提供されています。
具体的な手順とツールは、電子メール システム (Office 365、Google Workspace、Microsoft など) や DNS プロバイダーによって異なる場合があることに注意してください。 問題が発生した場合は、システムの特定のドキュメントを参照するか、サポートに連絡することをお勧めします。
DKIMレコードチェックとは何ですか?
DKIM レコード チェックは、ドメインに正しい DKIM レコードが設定されているかどうかを確認するプロセスです。 DKIM レコードの目的は、秘密鍵で署名されたメッセージを検証するために使用される公開鍵を保管することです。 DKIM レコード チェックを提供するほとんどのオンライン ツールは、ドメイン名、公開キーの構文、および対応するドメインに設定されている DNS エントリを検証します。
MxToolboxが提供するDKIMレコードチェックツールの一例 有効な公開された DKIM キー レコードのドメイン名とセレクターに対して DKIM テストを実行します。 これは、署名ドメインが送信中のメッセージに対する責任を主張できるようにすることで、電子メールのドメイン レベルのデジタル署名認証フレームワークをテストします。
全体として、DKIM レコード チェックを実行すると、電子メール認証設定における潜在的な問題を特定し、メッセージが受信者に安全に配信されるようにすることができます。 安全な電子メールゲートウェイソフトウェア さらに、スパムメールをフィルタリングし、悪意のあるスパム送信者がエンドユーザーを攻撃するのを防ぐためにも使用できます。
DKIMセレクターとは何ですか?
DKIM セレクターは、送信メール サーバーが電子メール メッセージに署名するための秘密キーを見つけるために使用し、受信メール サーバーが DNS 内の公開キーを見つけて電子メール メッセージの整合性を確認するために使用する文字列です。
セレクターはドメインの DKIM レコードの一部であり、DKIM-Signature ヘッダー フィールドの「s=」タグによって指定されます。 セレクターは、単一ドメインの複数の DKIM キー レコードのサポートに役立ち、DKIM 公開キーの識別プロセスに役立つ任意の文字列です。
DKIM認証とは何ですか?
DKIM は、公開電子キーと秘密キーのペアの暗号キーを使用して、送信電子メール メッセージに署名します。 公開キーは組織の DNS レコードで TXT レコードとして公開され、秘密キーは送信者によって秘密に保たれます。
DKIM を使用して電子メール メッセージが送信されると、メッセージ ヘッダーにデジタル署名が含まれます。 受信電子メール サーバーは、送信者の公開 DKIM キーを使用して署名を検証できます。 署名が一致しない場合は、メッセージが送信中に変更されたか、正規の送信者によって送信されなかったことを意味します。
より技術的な用語で言うと、DKIM はハッシュ関数を使用して電子メール メッセージ本文とヘッダーの特定の部分の暗号化されたダイジェストを生成し、送信者の秘密キーを使用して署名されます。 その後、ダイジェストと送信者のドメイン名がデジタル署名としてメッセージ ヘッダーに追加されます。
受信サーバーは、DNS レコードから送信者のドメインの公開キーを取得し、それを使用してデジタル署名を検証できます。 署名がダイジェストと一致する場合、電子メール メッセージは認証され、信頼できるものになります。
受信電子メールの DKIM 署名を検証することで、組織はドメインから送信された電子メールが正常に配信されていることを確認し、電子メールのフィッシングやスプーフィング攻撃を防ぐことができます。
DKIM署名とは何ですか?
DKIM 署名は、DKIM 電子メール認証プロセス中に送信者の電子メール システムによって作成される、一意の暗号化された文字列です。 署名の主な機能は、送信者のドメインを検証し、送信者と受信者の間で送信される電子メールの整合性を保証することです。
DKIM を使用して電子メールが送信されると、送信者の電子メール サーバーはメッセージにデジタル署名を添付します。 この署名は、暗号化アルゴリズムと送信者のドメインに固有の秘密キーを使用して生成されます。 この秘密鍵に対応する公開鍵は DNS レコードとして保存されます。
受信者の電子メール サーバーが電子メールを受信すると、送信者の DNS レコードから対応する公開キーを取得して DKIM 署名をチェックします。 次に、サーバーはこの公開キーを使用して署名を復号化し、その信頼性を検証します。 署名が一致する場合、電子メールは送信されてから変更または改ざんされていないことを意味します。 DKIM 署名は、電子メールを送信したドメインに関する情報も提供します。
要約すると、DKIM 署名は、電子メール メッセージの信頼性と整合性を検証するデジタル署名です。 これは、電子メールの改ざんを防止し、電子メールが要求されたドメインから実際に送信されたことを保証するのに役立ちます。
電子メールの署名を確認する方法
DKIM 署名を検証するには、受信電子メール サーバーは次の一般的な手順に従う必要があります。- DKIM 公開キーを取得する:電子メール サーバーは、受信電子メールの DKIM 署名ヘッダーで指定されたセレクターを使用して、DNS レコードから送信者の DKIM 公開キーを取得します。
- メッセージ ヘッダーと本文を取得する:電子メール サーバーは、受信電子メールからメッセージ ヘッダーと本文を抽出します。
- ダイジェストを再計算する:電子メール サーバーは、DKIM-Signature ヘッダーで指定されたハッシュ アルゴリズムを使用してメッセージ本文のハッシュを計算します。
- 署名を検証する:電子メール サーバーは、取得した公開キーを使用して署名を復号し、その結果を再計算されたダイジェストと比較することによって署名を検証します。 それらが一致する場合、電子メールは本物で信頼できるものとみなされます。 それ以外の場合は、送信中に変更されたか、不正な送信者によって送信された可能性があります。
DKIM 署名を検証するための特定のコマンドとライブラリは、使用するプログラミング言語とプラットフォームによって異なる場合があることに注意することが重要です。 DKIM 署名を検証するためのライブラリとツール (Python の場合は DKIMpy、.NET の場合は DKIMVerifier など) を見つけることができます。
さらに、より包括的な電子メール セキュリティ アプローチを提供するために、SPF や DMARC などの他の電子メール認証メカニズムを確認することをお勧めします。
DKIM 対 SPF 対 DMARC
DKIM と SPF は、2 種類の電子メール認証プロトコルです。
DKIM は、電子メールにデジタル署名を追加して、メッセージが指定されたドメインから送信されたことだけでなく、メッセージ自体が転送中に変更されていないことも検証します。
一方、 SPFは、特定のドメインの承認された送信サーバーのリストに対して送信メール サーバーを検証することによって機能します。 サーバーが承認されていない場合、受信サーバーには疑わしい電子メールを処理するためのオプションがいくつかあります。
一方、 DMARC は、DKIM (および SPF) によって実行される検証プロセスを利用するために使用され、電子メール送信者が認証に失敗したメッセージの処理方法を電子メール受信者に指示できるようにします。 具体的には、DMARC ポリシーは、電子メール受信者が DKIM や SPF などの確立された認証標準に照らして受信メッセージを評価する方法と、電子メールがこれらのチェックに失敗した場合に実行するアクションを定義します。
そのため、DKIM は主に送信者の認証に使用されますが、DMARC はドメイン所有者が認証に失敗した電子メールを受信者がどのように処理するかを指定できるようにすることで、追加のセキュリティ層を提供します。 DKIM と DMARC の両方を導入することで、ドメイン所有者は、ドメインがフィッシングやスプーフィング攻撃に使用されるリスクを大幅に軽減し、電子メールの到達性を向上させることができます。
トップ 5 DMARC ソフトウェア
DMARC は、電子メール ドメイン所有者が電子メール フィッシングやなりすまし攻撃などの不正使用からドメインを保護できるように設計された技術仕様および電子メール認証プロトコルです。
DMARC を有効にするには、ドメイン所有者は、受信電子メール メッセージの検証にどの認証方法 (SPF や DKIM など) を使用する必要があるか、および電子メール受信者が認証を通過しないメッセージをどのように処理するかを示す DMARC ポリシーを DNS レコード内に公開します。検証チェック。
組織が DMARC ポリシーを実装し、さまざまな電子メール プロバイダーにわたる電子メールの信頼性に関する詳細なレポートを提供するのに役立つ、有料および無料のさまざまな DMARC ソフトウェア ソリューションが利用可能です。
上位 5 つの DMARC ソフトウェア ソリューション
- DMARCレポート
- バリメール
- EasyDMARC
- OnDMARC
- オートSPF
*これらは、G2 の 2023 年夏のグリッド レポートの上位 5 つの DMARC ソフトウェア ソリューションです。
DKIM: よくある質問
Q. 複数の DKIM レコードを持つことはできますか?
A.はい。 ユーザーは DNS に複数の DKIM レコードを持つことができます。 すべての DKIM キーは、署名に追加された異なる DKIM セレクターに関連付けられます。 これにより、受信者は検証にどのキーが使用されるかを理解できるようになります。
Q.Gappssmtpとは何ですか?
A. Gmail Simple Mail Transfer Protocol (SMTP) または Gappssmtp は、Google が提供する電子メール送信プロトコルです。 これは、インターネット上で電子メールを共有するための標準プロトコルです。 Gappssmtp は、電子メール アプリケーションまたはサーバー設定を構成して、「送信元」アドレスを送信者のドメインとして保持しながら、Gmail サーバー経由で電子メールを送信できるようにするのに役立ちます。
Gappssmtp は、別のサーバーを必要とせずに、安全性と信頼性を保証します。 次のようにサーバーをセットアップします。
SMTP サーバー: smtp.gmail.com SMTP ポート: 587 暗号化: TLS (トランスポート層セキュリティ)
電子メールを作成するときは、「差出人」アドレスを独自のドメインとして設定します (例: [email protected])。 受信者がメールを受信すると、Gmail のサーバーを経由して送信されたにもかかわらず、あたかもドメインから直接送信されたように見えます。
Q. DKIM を実行するには証明書が必要ですか?
A.いいえ。DKIM の実行に証明書は必要ありません。 これにより、ユーザーはキーを簡単に作成、設定、または破棄できます。
Q. DKIM が正しく設定されているかどうかをテストするにはどうすればよいですか?
A. DKIM を追加した後、オンライン DKIM アナライザーを使用して検証する必要があります。 オンラインで入手できるさまざまな無料の DKIM アナライザーがあります。 検証をチェックするもう 1 つの方法は、テスト電子メールを Gmail または Yahoo に送信して、電子メールが DKIM 署名付きで届いているかどうかを確認することです。
これを行うには、送信者の名前の下にある三角形のアイコンをクリックして電子メール ヘッダーを展開します。 「送信者」と「署名者」にドメイン名が表示される場合、電子メールは正しく設定されています。
Q. DKIM は電子メールのエンドツーエンド暗号化を保証しますか?
A. DKIM は、電子メールが受信者サーバーへの転送中に改ざんされていないことを保証する仲介者として機能します。 エンドツーエンドの暗号化が保証されるわけではありません。
Q. DKIM ヘッダーはどのようなものですか?
A.一般的な DKIM ヘッダーは次のようになります。
DKIM 署名: v=1; a=rsa-sha256;
c=リラックス/シンプル;
d=example.com; s=セレクター1;
h=from:to:件名:日付:メッセージID;
bh=encrypted_body_hash;
b=dkim_signature_value;
DKIM ヘッダーの部分を分解してみましょう。
- DKIM-Signature: DKIM ヘッダーの先頭を識別します。
- v:使用されている DKIM 署名のバージョン。
- a:電子メールの署名に使用されるアルゴリズム (例: rsa-sha256)。
- c:メッセージの署名を準備するために使用される正規化アルゴリズム。
- d: DKIM レコードに関連付けられたドメイン名。
- s:署名に使用されるキーを指定する DKIM セレクター。
- h:署名に含まれるヘッダー。
- bh:メール本文の暗号化されたハッシュ値。
- b:実際の DKIM 署名値。
実際の DKIM ヘッダーは、使用されている特定の電子メール サービスまたはソフトウェアによって異なる場合があることに注意してください。
なりすましメールに別れを告げましょう
DKIM はパズルの 1 ピースです。 暗号化署名を介して送信者のドメインと電子メールの整合性を検証し、電子メールの偽造、なりすまし、改ざんとの戦いに役立ちます。 DKIM やその他の電子メール セキュリティ対策を採用することで、安全で信頼性が高く、実りある電子メール通信および認証環境を実現することができます。
電子メールの到達性の実践にわずかな変更を加えるだけで、電子メール戦略に優れた結果をもたらす可能性があります。 もっと詳しく知る!