BIMI について

DMARC などの送信ドメイン認証技術によって認証されたドメインは、より分かりやすい形でメール受信者に提示することができれば、ドメイン認証の効果を具体的に知るよい機会になります。こうした仕組みの一つとして、現在検討されているのが BIMI (Brand Indicators for Message Identification) です。

メール受信者は、MUA (いわゆるメールソフトウェア)*1 を利用して受信メールを参照します。これらの MUA 上で、認証されたなりすまされていないメールが、その送信者のドメインに関連したロゴとともに表示されれば、視覚的により分かりやすく識別できるはずです。現在検討されている仕組みを具体的に示します。

BIMI も他の送信ドメイン認証技術と同様に、DNS のテキスト資源レコード上に情報を設定します。つまり、メールの送信側はメールの受信者に示すロゴ等の情報を自身のドメイン名の配下の DNS 上にテキストで示す、ということになります。例えば、ヘッダ上の送信者情報 (RFC5322.From) のドメインが example.jp である BIMI レコードは、以下の場所に設定されます。

default._bimi.example.jp IN TXT "v=BIMI1; f=png; z=32x32; l=https://example.jp/bimi/"

BIMI レコードで指定する各パラメータの意味は以下のとおりです。

パラメータ 概要
v バージョン番号 (BIMI1)
f イメージフォーマット (png, tiff, jpg, svg) カンマで複数指定可
z イメージサイズ 32-1024, (32x32, 128x128) カンマで複数指定可
l イメージの場所 (起点となる URI)

example.jp ドメインのサブドメイン bimi は固定です。さらにそのサブドメイン default はセレクタ部分で、このセレクタを切り替えることにより、同じドメイン名で複数の BIMI レコードを定義することができます。つまり、形式的には以下のドメインの TXT 資源レコードに BIMI レコードを設定することになります。

<selector>._bimi.<domain>

セレクタを切り替える場合は、送信するメールヘッダで指定します。現在仕様検討中の段階ですが、最新の仕様では BIMI-Selector: ヘッダ*2 を利用します。これは、メールの送信側が指定することになります。指定されなかった場合のデフォルト値は、defaultサブドメインとなります。例えば、logo というサブドメインを使いたい場合は、以下のようなヘッダをメール送信側は追加します。

BIMI-Selector: v=BIMI1; s=logo

メールの受信側のメールサーバでは、DMARC で認証できたドメインに対して、BIMI レコードを取得します。セレクタが BIMI-Selector:ヘッダで指定されている場合は、指定されたドメインを利用して BIMI レコードを取得します。BIMI レコードが取得できる場合は、Authentication-Results:ヘッダに bimi の結果をドメイン名 (header.d=) とセレクタ名 (selector=) とともに保存します。BIMI レコードで指定された情報を元にイメージファイルの場所を BIMI-Location:ヘッダに保存します。MUA は、このBIMI-Location:ヘッダを参照してイメージを取得して受信者に表示することになります。以下に、MUA が参照する BIMI 関連のメールヘッダの例を示します。

BIMI-Location: v=BIMI1; v=BIMI1; l=https://example.jp/bimi/32x32.png
Autthentication-Results: bimi=pass header=example.jp selector=logo
From: sender@example.jp
BIMI-Selector: v=BIMI1; s=logo

*1

MUA: Mail User Agent, ここではアプリケーションソフトウェアだけでなく、ウェブメールも含めて MUA としています。

*2

仕様の初期段階では X-BIMI-Selector でした。