メールに記載する送信元メールアドレスは、容易に詐称することが可能です。このため、たとえば実在する第三者のメールアドレスを騙って迷惑メールやフィッシングメールを送信するといった行為が横行しています。こうした送信元メールアドレスの詐称を防止する手法として生み出されたのが「送信ドメイン認証」と呼ばれるもので、それを実現するための仕組みがSPF(Sender Policy Framework)とDKIM(DomainKeys Identified Mail)です。
SPFはDNSの仕組みを利用し、送信元メールアドレスを検証します。具体的には、あらかじめDNSサーバーにメール送信時に使うサーバーのIPアドレスを登録しておきます。メールを受信したサーバーは、送信元メールアドレスとして記載されたドメイン名を管理するDNSサーバーに問い合わせてIPアドレスを取得し、実際に送信されたメールサーバーのIPアドレスと比較します。これが一致しなければ、送信元メールアドレスが詐称されていると判断します。
一方、DKIMは送信するメールに電子署名を付与します。受信側はこの電子署名を検証することで、送信元メールアドレスの詐称やメール内容の改ざんを検知することが可能になります。
SPFやDKIMの仕組みを用いて検証した結果、送信元メールアドレスが詐称されている場合の処理をポリシーとして定義するのがDMARC(Domain-based Message Authentication、Reporting and Conformance)です。何もせずに受信、本来のメールとは別の場所に隔離、破棄といったアクションを事前に定義しておき、送信元メールアドレスが詐称されていた場合はポリシーに沿って対応します。