MailData

ARCとは?

ARCとは?

2023年1月18日
著者: Ahona Rudra
翻訳: 高峯 涼夏

この記事はPowerDMARCのブログ記事 What is ARC? の翻訳です。
Spelldataは、PowerDMARCの日本代理店です。
この記事は、PowerDMARCの許可を得て、翻訳しています。


ARC(Authenticated Received Chain)とは?

ARC(Authenticated Received Chain)とはメール認証システムの一つで、メールを処理する際に、各段階での認証評価を表示するシステムです。
より簡単に言えば、Authenticated Received Chainは、メールメッセージを取り扱う各エンティティが、以前に処理したすべてのエンティティを効率的に確認できるようにするためのメールメッセージの一連の検証と言えます。
2019年7月にRFC8617で「Experimental」として公開および文書化された比較的新しいプロトコルであるARCは、SPFやDKIMが中間サーバによって無効とされた場合でも、受信サーバによるメールの検証を可能にします。

DMARCのARC

DMARCのARCとは、メールが転送された結果、存在する恐れがあるDMARC認証システムの脆弱性を回避するために有効な手段です。
DMARCのARCは転送されたメールが認証チェックを通過できるよう、メール情報を保持します。

許可されていない不正なメールをブロックすることは必要ですが、正当なメールが配信されないことは最も避けなければなりません。
DMARCのARCは、すべてのステップでメールの一連の認証を維持し、メールヘッダが変更されることなく次の仲介者に渡されることを保証します。

ARCはDMARCの代用として使える?

答えは「いいえ」です。
ARCは、メールがいくつの中間サーバを経由しても、認証識別子を順次受け渡すように構築されています。
ARCは、DMARCの検証結果を保持し、第三者やメールボックスのプロバイダがメッセージのヘッダやコンテンツを変更するのを防ぎます。

ARCは決してDMARCの代替品ではありません。
むしろ、強制的なDMARCポリシーに追加して使用することで、メールの到達性をさらに向上させることができます。

Authenticated Received Chainはどのように役に立つのか?

DMARCは、SPFDKIMといったメール認証規格に照らしてメールを認証し、認証に失敗したメールや合格したメールをどのように処理するかを受信側に指定できることは、すでにご存知のとおりです。
しかし、組織内で厳格なDMARCポリシーを適用した場合、メーリングリストや転送者を経由したメールなどは、正当なメールであっても認証に失敗し、受信者に届かない可能性があるのです。
Authenticated Received Chainは、この問題を効果的に軽減するのに役立ちます。

以下では、その方法について説明します。

ARCが役立つ場面

メーリングリスト

メーリングリストのメンバーになると、メーリングリスト自体のアドレスを指定することで、そのリスト内のメンバー全員に一度にメッセージを送信できます。
その後、受信アドレスは、メッセージをメーリングリストの全メンバーに転送します。
現状では、DMARCはこのようなタイプのメッセージを検証することができず、正当な送信元から送られたメールであったとしても、認証に失敗してしまいます!

これは、メッセージが転送されるときにSPFが壊れるからです。
メーリングリストでは、メール本文に余計な情報を盛り込んでしまうことが多いので、メールの内容の変更によりDKIM署名も無効になることがあります。

メッセージの転送

転送されたメールのように送信サーバから直接ではなく、中間サーバからメールを受信するような間接的なメールの流れがある場合、SPFが破壊され、メールは自動的にDMARC認証に失敗します。
また、転送元の中にはメールの内容を変更するものもあり、その場合はDKIM署名も無効となります。

picture1

このような状況では、Authenticated Received Chainが助けになります。
どのように?
見てみましょう。

DMARCのARCはどのように機能する?

上記の状況では、転送者は当初、DMARC設定に照らして検証されたメールを、承認された送信元から受け取っていました。
Authenticated Received Chainは、Authentication-Resultsヘッダをメッセージ配送の次の「ホップ(訳注:ネットワーク上で通信先に到達するまでに経由するノードのこと)」に渡すことを可能にする仕様として開発されたものです。

転送されたメッセージの場合、受信側のメールサーバはDMARC認証に失敗したメッセージを受信すると、最初のホップのARCのAuthentication-Resultsを抽出し、そのメールに対して提供されたAuthenticated Received Chainが、仲介サーバが受信サーバに転送する前に正当であることが検証されたか、二度目の検証を試みます。
受信者は、抽出された情報をもとに、ARCの結果をDMARCのポリシーより優先させるかを判断し、これによりメールは本物かつ有効なものとして、受信者の受信トレイに正常に配信されます。
ARCの実装により、受信者は以下の情報を利用して効果的にメールを認証することができます。

Authenticated Received Chainの実装

ARCでは、新たに3つのメールヘッダを定義しています。

ARC-Authentication-Results (AAR)

メールヘッダの中で最初に来るのは、SPF、DKIM、DMARCなどの認証結果を格納したAARです。


i=1; mx.google.com;
	dkim=pass header.i=@domain.com header.s=xyz header.b=Q9TN1jXp;
	spf=pass(google.com: domain of user@domain.com designates 101.53.164.222 as permitted sender)
smtp.mailfrom=user@domain.com;
	dmarc=pass(p=REJECT dis=NONE) header.from=domain.com

ARC-Seal(AS)

ASはDKIM署名の簡略版で、認証ヘッダの結果とARC署名に関する情報を含みます。


i=1; a=rsa-sha256; t=1608028598; cv=none;
	d=google.com; s=arc-20160816;
	b=u1Tiu150Jf7sRT49ZVeFUaBLUbSILgotn8kMYGlzMA5L7sRZmFDv03aiFM0LrNdJ/A
	 +bFlt9A+6gAcGFGYyZGWBSeb+h3WqPMfjVC7GdLdrTQPFUkG19DrazsgHo2/hEbg2Wb
	 nqVzBxJB500yYVqwlph1pntaG/YWZSN2Wawr9HHgeQJvb9Ed/BHSM7gfj7zxOBUhvbqX
	 Lmp6DaBtTpyMZYh5taAoR8DBdYS7fLuUER7S2fA50S6h7GpCtuWWErlGpop1LXSDH/WH
	 Ow1rWzq01tC8P5zbavayZ+YsANKL4By+kqQrlOAPO4N3g+YaDyjxnTiL2eG+eEbLrGqKA
	 D2/g==

ARC-Message-Signature (AMS)

AMSはDKIM署名に似ていて、To:、From:フィールド、件名、メッセージ本文などARC-Sealヘッダ以外のすべてを組み込んだメッセージヘッダの複製を取得します。


i=1; a=rsa-sha256; c=relaxed/relaxed;
	d=google.com; s=arc-20160816;
	h=mime-version:subject:message-id:cc:to:from:date:dkim-signature;
	bh=utFVsQV90imCkfdAbs4rSFF+Hh1llV6Wdr1n2w6XqxA=;
	b=L7JNVN7na3akSOKhBXao0YbGpYAootoeq80HHhuHbDsFoZAH47Kjb92JZh8xjcZp32vrt
	 OSBFh+1PLWAwsJX8MOfz8/l1du6HOI1NdF32efp7nOIQOQYWzI3UEaVHEwli2D71SNvNgz/
	 Zx5KaL5NBsqLrlytLaw343MhvFT2vRd9gBV23BIM7ihRe3WsEo2islcLwzxvuTFKgillU6m
	 1vJUDQxFLnjngcYs/URfmV3Zu83VdlV2igAlq2CpWdA4u9jo2gJDGOfselSOZITc9W4sFRcJ/
	 2rbwUaVW4f5TMNhIZ2YpHXOn87lh/yB5/1w6nLXOyVjmp5qp6WE/2ELYIg==

修正に署名するために中間サーバが実行するステップ

  1. サーバはAuthentication-Resultsフィールドを新しいAARフィールドにコピーし、メッセージの先頭に付けます。
  2. サーバはメッセージのAMSを(AARとともに)策定し、メッセージに前置します。
  3. サーバは、前のARC-SealヘッダのASを策定し、メッセージに追加します。

最後に、Authenticated Received Chainを検証し、転送されたメッセージが正当かどうかを調べるために、受信者はChainまたはARC Seal-headerと最新のARC-Message-Signatureを検証します。
DMARCのARCヘッダが何らかの形で変更されている場合、そのメールは結果的にDKIM認証に失敗します。
しかし、メッセージの送信に関与したすべてのメールサーバが正しくARCに署名し送信した場合、メールはDKIM認証結果を保持し、DMARC認証を通過し、結果として受信者の受信トレイにメッセージが正常に配信されます!

ARCの導入は、組織におけるDMARCの導入をバックアップし、すべての正当なメールが一度も滞りなく認証されるようにサポートします。
今すぐDMARCの無料トライアルでARCをお試し下さい。