オーセンティケーテッド・レシーブド・チェーン

オーセンティケーテッド・レシーブド・チェーン (Authenticated Received Chain、ARC) は電子メール認証システムである。中間メールサーバ (メーリングリストや転送サービスなど) で、電子メールの本来の認証結果に署名を付加することで認証を実現する。これにより、電子メールのSPFレコードやDKIMレコードが中間サーバ での処理によって無効になってしまうときも、受信側のサービスで電子メールを検証できる[1]

ARCは2019年6月に公開された「実験的」(experimental)な RFCであるRFC8617で定義されている[2]

概要

DMARCでは送信者ドメインごとに、そのドメインの電子メールがSPFDKIMで保護されていることを示すことができ、いずれの認証方式でも不合格の場合に受信側サービスでとるべき対応 (メッセージを拒否するなど) を指定できる。しかし、DMARC方針に厳格な指定をしていると、正当な電子メールであっても、メーリングリストや転送サービスを通過したものを阻止してしまうことがある。SPFでは、再送する送信者が認可外のものであれば検査が失敗してしまう。DKIMでは、メッセージが改変 (件名にタグが付加される、本文にフッタが追加されるなど) を受ければ署名が無効になってしまう。

ARCでは、中間サーバがメッセージの本来の認証結果に署名を付加できるようにすることで、SPFやDKIM署名が無効になってしまう問題を解決する。受信側のサービスは、SPFやDKIMによる検証が失敗してもARCによる検証結果を使うことができる。つまり、ARCによる検証に合格したということは、元のメッセージはSPFやDKIMの検査に合格しておりかつその後の改変を行ったのは受信側サービスの信頼する中間サービスのみであるということになるので、受信側のサービスではSPF、DKIM、DMARCが検証不合格でもその電子メールを受け付けてもかまわないと言えるのである。なお、どういった中間サービスを信頼するかについては、受信側サービスそれぞれの判断に委ねられる。

実装

ARCは、新たに三つのメールヘッダフィールドを定義している。

  • ARC-Authentication-Results (略号 AAR) - インスタンス番号 (i) と、SPF、DKIM、DMARCによる検証の結果。
  • ARC-Seal (略号 AS) - インスタンス番号 (i)、以前のARC-Sealヘッダフィールド (一般に複数) に対するDKIM類似の形式の署名 (「封緘」〔seal〕と呼ぶ)、直前のARCエントリの有効性。
  • ARC-Message-Signature (略号 AMS) - インスタンス番号 (i) と、メッセージ全体 (ARC-Sealフィールドは除く) に対するDKIM類似の形式の署名。

中間サーバは、次の手順を踏んで改変に署名を付加する。

  • Authentication-Resultsヘッダフィールドの内容 (改変前に行われたSPF、DKIM検証の結果) を、メッセージの最初にARC-Authentication-Resultsフィールド として追加 (初めてならインスタンス番号は1)。
  • メッセージ (AARを含む) の署名を計算し、メッセージの最初にARC-Message-Signatureフィールドとして追加。
  • 以前のArc-Sealヘッダフィールド (一般に複数) から封緘を計算し、メッセージの最初にARC-Sealフィールドとして追加。

受信側は、次の手順を踏んでARCの検証をする。

  • ARC-Sealヘッダフィールドの連鎖の検証 (抜けているものがなく、いずれのARC-Sealフィールドでも直前の記載内容が有効とされていることなど)。
  • 最新のARC-Message-Signatureヘッダフィールドの検証 (インスタンス番号に基づき最新のものを判別)。

参考文献

  1. Authenticated Received Chain Overview”. 2017年6月15日閲覧。
  2. The Authenticated Received Chain (ARC) Protocol”. 2021年8月23日閲覧。

関連項目

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.