DKIMとは何ですか?

10月 12, 2023  |  < 1 分で読めます

DKIM is an 電子メール認証 受信サーバーが電子メールが送信され、その電子メールのドメインの所有者によって承認されたかどうかを確認する方法です。 その電子メールにはデジタル署名が付けられます。これはメッセージに追加され、暗号化されて保護されたヘッダーです。

DKIM署名についてさらに詳しく読む

DKIM署名が有効な電子メールに付されている場合、メッセージの本文や添付ファイルが送信された時から受信箱に届くまで変更されていないことが確実です。つまり、受信サーバーが有効なDKIM署名を確認すると、メッセージのすべての部分の整合性を検証できます。エンドユーザーはDKIM署名を見ることはできず、検証はサーバーで行われます。

DKIMの歴史

ドメインキー識別メール(DKIM)標準は、AOL、Google、Microsoft、およびYahoo!を含む組織連合によって2007年に開発されました。これは、電子メールのスプーフィング問題に対処するためのものです。 DKIMは公開鍵暗号を使用して、電子メールが送信中に改ざんされていないこと、およびそれが主張される送信者のドメインから発信されたことを検証します。これは、各電子メールメッセージにデジタル署名を追加することで、メッセージの真正性を検証することができます。

2012年にインターネット技術標準化機構(IETF) DomainKeys Identified Mail を公式標準として公開 (RFC 6376). それ以来、電子メールサービスプロバイダー(ESP)や他の組織によって広く採用され、電子メールメッセージのセキュリティと整合性を確保する手段として利用されています。

DKIMの動作原理

各DKIM署名された電子メールメッセージには、以下の情報が含まれるDomainKeys Identified Mail-Signatureヘッダーフィールドが含まれています。

  • 送信者のドメイン名
  • メッセージに署名するために使用されるDKIMキーのセレクター(例:”dkim”や”20170914″)
  • 使用される署名アルゴリズム(例:”rsa-sha256″)
  • 送信者の秘密鍵を使用して生成された暗号署名

メッセージを受信した場合、受信メールサーバーはDKIM-Signatureヘッダーフィールドの情報を使用してメッセージの真正性を検証できます。これを行うために、セレクターと送信者ドメインに対応する公開鍵をDNSレコード(TXTレコードとして知られる)から取得する必要があります。 公開鍵を取得したら、受信メールサーバーはその公開鍵を使用してメッセージの署名を検証し、メッセージが改ざんされていないことを確認できます。

なぜDKIMを使用するのでしょうか?

DKIMは、電子メールスプーフィングという種類のサイバー攻撃に対抗するための重要なツールです。電子メールスプーフィングは、合法的な送信者からのように見える電子メールを送信するが実際には異なる源から送信されたものです。電子メールスプーフィングは、フィッシング攻撃やマルウェアの伝播など、さまざまな悪意のある目的に使用されることがあります。

ドメインキー識別メール(DKIM)は、各電子メールメッセージの真正性を検証することにより、受信者を電子メールスプーフィング攻撃から保護するのに役立ちます。 各メッセージが改ざんされておらず、主張される送信者のドメインから発信されたことを検証することにより、DKIMは受信者がスプーフィングされた電子メールに騙されないようにするのに役立ちます。

電子メールスプーフィングから受信者を保護するだけでなく、DKIMは組織の電子メールの配信可能性を向上させるのにも役立ちます。これは、多くの電子メールサービスプロバイダー(ESP)がドメインキー識別メールを使用して

DKIMヘッダーの構文

DKIMヘッダーの構文: v=1; a=rsa-sha256; c=simple/simple; d=skysnag.com;

s=brisbane;

t=1217574938; bh=KWSe46TZS2+p7aR67F1kVb6nXyo4=;

h=受信:Mime-Version:Date:Message-ID:Subject:From:To:Content-Type;

[email protected];

b=dzdVyOfAKCdLXdJOc9G2q8LoXSlEniSbav+yuU4zGeeruW+s4U4VgFyL2ckaVzRp

SeAgiU6p4T+YGmJ3fWZA4kZBVTBQ5VVq3kR5YDw7x5fg+oZ6+V1R+nYZ4pZBXNK3+

qkjxqhw4kXlBYjYwvSpYrcYTtYC1Q4E1dWotZHUZSo=


DKIM-Signatureヘッダーフィールドは次のように定義されます:

タグ説明
Vバージョン 現在のバージョンは1です。
a使用される署名アルゴリズム。この文書では、rsa-sha256アルゴリズムのみが定義されています。
c使用される署名正規化アルゴリズム。この文書では、”simple”および”relaxed”の2つの署名正規化アルゴリズムが定義されています。
d署名するドメイン。メッセージ送信者のドメイン。
sセレクター。署名ドメインに関連付けられたドメインキー識別メール公開鍵レコードを識別する文字列です。
t署名のタイムスタンプ。署名の計算時点を表す、1970年1月1日からの秒数です。
bh本文のハッシュ。メッセージ本文のハッシュ値です。
h署名ヘッダーのフィールド。署名アルゴリズムに提示されるヘッダーフィールドをコロン区切りで示すリストです。
i署名の識別子。署名者がメッセージに対するコントロールの範囲を示すために使用される文字列です。(これは、例えば法人ユーザーが自身の雇用権利と責任の範囲内で行動していることを主張するために使用される場合があります。)
z 署名の後に表示されるヘッダーフィールド、つまり署名後のヘッダートレーリングのヘッダーフィールドを識別するコロン区切りのリスト
b署名データ。指定されたアルゴリズム(”a“タグ)で生成される署名です。
x 署名の有効期限タイムスタンプ。署名の有効期限です。

要約すると、DKIM-SignatureヘッダーはDKIM検証のためにメッセージに署名するために使用されます。ヘッダーには使用されているDomainKeys Identified Mailのバージョン、ハッシュを生成するために使用されるアルゴリズム、送信ドメインの正規化ポリシー、公開DKIMキーのセレクター、メッセージに署名した電子メールドメイン、署名者の識別情報、本文のハッシュ値、および前述のすべての情報の暗号署名が含まれています。

DKIMの検証

DKIMの検証は、まずバージョン番号がDomainKeys Identified Mailの仕様を満たしていること、送信者のドメインの識別情報が署名に設定されたドメインと一致していること、そして“h=” タグにはFromヘッダーフィールドが含まれていることを確認します。これらがすべて問題なければ、受信サーバーは「d=」および「s=」タグを使用して送信ドメインの公開鍵を取得しようとします。

あなたのレコードを確認して検証するために、無料のDKIMレコードチェッカーツールをご利用いただけます。

公開鍵は、メッセージと共に送信された暗号化されたハッシュを復号化するために使用されます。受信メールサーバーはその後、メッセージの自身のハッシュを計算します。もし二つのハッシュが一致すれば、メッセージは受け入れられます。

DKIMはスプーフィングを防ぐのか?

DKIM単独ではスプーフィングを防ぎません。DKIMとDMARCが連携してスプーフィング防止を行います。 ドメインキー識別メール(DKIM)は、プライベートキーを使用してメッセージに署名するために公開鍵暗号を使用します。 署名は、メッセージ送信者のDNSレコードから取得した公開鍵で検証されます。これにより、プライベートキーの所有者だけが、メッセージ送信者のドメインから送信されたように見えるメッセージを送信できることが保証されます。DMARCは、DKIMおよびSPFのチェック結果を使用して、メッセージを配信するかどうかを決定します。 DKIMまたはSPFが失敗した場合、DMARCは受信メールサーバーに対してメッセージを拒否、隔離、または配信するよう指示できます。

DKIMの配信可能性における役割

ドメインキー識別メール(DKIM)を使用する主な利点は、電子メールの認証ができることです。電子メールを認証することで、受信者にメッセージが自分から送信されていることを伝えることができます。これは重要です。なぜなら、これにより電子メールの配信可能性が向上するからです。

電子メールが認証されていると、スパムフォルダーではなく受信トレイに配信される可能性が高くなります。これは、認証がISPが電子メールを受信トレイに配信するかどうかを決定する要因の一つであるためです。

ドメインキー識別メール(DKIM)を使用するもう一つの利点は、スパムフィルターを回避できることです。これは、多くのスパムフィルターがDKIMを使用して電子メールがスパムかどうかを判断するためです。電子メールが認証されていない場合、スパムとしてマークされる可能性が高くなります。

最後に、DKIMを使用することで、ISPとの間でより良い評判を築くのに役立ちます。これは、多くのISPが送信者の評判を判断する際にDKIMを使用するためです。

SPF、DKIM、およびDMARCの関係についてですね。

SPFDMARCは、電子メール送信者を認証するために使用されます。 DKIMは、電子メールメッセージを認証するために使用されます。

SPFは、送信者のIPアドレスが送信者のドメインに電子メールを送信することが許可されているIPアドレスと一致するかどうかを確認します。

DKIMは、暗号署名を使用して電子メールメッセージを認証します。署名はメッセージヘッダーに追加され、受信者はその署名を使用してメッセージが送信中に変更されていないこと、および認証された送信者によって送信されたことを検証することができます。

DMARCは、メッセージのSPFおよびDKIMの認証結果をチェックし、送信者が設定したポリシーに基づいて、メッセージを配信するか、隔離するか、拒否するかを決定します。

DKIMキーの設定方法についての一般的な手順は以下の通りです:

DomainKeys Identified Mail(DKIM)の設定は、使用している電子メールサービスプロバイダー(ESP)やメールサーバーに関わらず同じです。秘密鍵を安全に保管し、公開鍵をドメインのDNSレコードに共有する必要があります。SPFと同様に、DKIMは特別なフォーマットのDNS TXTレコードを使用します。

DKIMキーを定期的にローテーションすることは一般的にベストプラクティスとされています。DKIMの標準では、キーを3ヶ月ごとにローテーションすることを推奨しており、また、古いDKIMキーをローテーションプロセスの一環として取り消すことも推奨しています。これを管理する最も簡単な方法は、新しいキーを追加し、数日後に古いキーをDNSレコードから削除することです。 Skysnagは、古い秘密鍵をアクティブなままにしておくことで新しい公開鍵が広まる間、DKIMキーの管理を簡単にする数少ないESPの1つです。

ドメインの電子メールを保護する最良の方法は、DomainKeys Identified Mail(DKIM)、Sender Policy Framework(SPF)、およびDomain-based Message Authentication, Reporting and Conformance(DMARC)を組み合わせて使用することです。これらのプロトコルがどのように連携してドメインを保護するかについての詳細情報は、他のガイドをご覧ください。

結論

Skysnagの自動化されたDKIMソリューションは、電子メールメッセージの起源と内容を調査しながら、DKIMレコードを検査および検証することで、 スパム, フィッシング, and other harmful emails. このSkysnagの自動化ソフトウェアは、DKIMレコードが正しく設定されていることを確認します。Skysnagで無料トライアルに登録して、今すぐ始めましょう。

ドメインのDMARCセキュリティコンプライアンスを確認する

DMARC、SPF、DKIMを数ヶ月ではなく数日で実施

Skysnagは、忙しいエンジニアがDMARCを適用し、SPFやDKIMの設定ミスに対応することを支援します。これによりメールの到達率が向上し、メールスプーフィングや身元詐称を排除します。