VMC(Verified Mark Certificate)
概要
VMC(Verified Mark Certificate) は、BIMI(Brand Indicators for Message Identification)でメール受信トレイにブランドロゴを表示するために、認証局(CA)が発行するデジタル証明書です。BIMI の仕様は現在ドラフト段階ですが、VMC の発行は DigiCert と Entrust が対応しています。
BIMI は DMARC p=quarantine 以上のポリシーを持つドメインに対して、受信トレイにブランドロゴを表示する仕組みです。Gmail で BIMI ロゴを表示するには VMC が必須です。VMC はロゴの商標登録を前提とし、認証局が申請者の商標権を検証したうえで発行します。
VMC の取得には商標登録済みのロゴ、DMARC p=quarantine または p=reject の設定、SVG Tiny PS 形式のロゴファイルが必要です。費用は年間数十万円程度で、取得プロセスには商標の検証を含めて数週間を要します。
仕組み
VMC は商標登録済みロゴの所有者を証明し、BIMI の検証フローの中で受信プロバイダーがロゴの正当性を確認する材料となります。
VMC の役割
VMC は次の情報を証明します。
- ロゴの所有者(組織名)
- ロゴが商標として登録されていること
- ロゴの SVG ファイルのハッシュ値
- 証明書が有効であること(期限内、失効していないこと)
受信プロバイダーは BIMI レコードの a= タグで指定された VMC を取得し、ロゴの正当性を検証してから受信トレイに表示します。
BIMI との連携フロー
- 受信サーバーがメールの DMARC 認証を実行する
- DMARC pass かつポリシーが
p=quarantine以上であることを確認する default._bimi.ドメインの TXT レコードを取得する- BIMI レコードの
l=タグでロゴ SVG の URL、a=タグで VMC の URL を取得する - VMC を検証し、ロゴの SVG ファイルのハッシュが VMC に含まれるハッシュと一致するか確認する
- 検証が成功すればロゴを受信トレイに表示する
商標の要件
VMC の発行には、ロゴが以下のいずれかの商標登録機関に登録されている必要があります。
- 日本国特許庁(JPO)
- 米国特許商標庁(USPTO)
- 欧州連合知的財産庁(EUIPO)
- その他、VMC 発行 CA が認める商標登録機関
商標登録されていないロゴでは VMC を取得できません。商標の種類は図形商標(ロゴマーク)です。
ロゴの技術要件
BIMI で使用するロゴは SVG Tiny PS(Portable/Secure)形式です。通常の SVG とは異なり、スクリプトやアニメーション、外部参照を含まない制限付きの形式です。
ロゴは正方形のアスペクト比で、背景は透過ではなく単色にします。ファイルサイズに厳密な制限はありませんが、32KB 以下が推奨されています。
設定例
BIMI レコードでロゴ SVG と VMC の URL を指定し、DMARC ポリシーと組み合わせて設定します。
BIMI レコードの設定
default._bimi.example.com. IN TXT "v=BIMI1; l=https://example.com/logo.svg; a=https://example.com/vmc.pem"
l= はロゴ SVG の URL、a= は VMC ファイル(PEM 形式)の URL です。どちらも HTTPS で配信する必要があります。
VMC なしの BIMI(一部プロバイダー対応)
default._bimi.example.com. IN TXT "v=BIMI1; l=https://example.com/logo.svg; a="
Apple Mail は VMC なしでも BIMI ロゴを表示します。a= を空にするか省略します。ただし Gmail では VMC がないとロゴは表示されません。
DMARC ポリシーの前提条件
BIMI と VMC が機能するには DMARC ポリシーが p=quarantine 以上である必要があります。
_dmarc.example.com. IN TXT "v=DMARC1; p=reject; rua=mailto:dmarc@example.com"
p=none では BIMI は動作しません。
確認方法
BIMI レコードは dig で確認できます。
dig TXT default._bimi.example.com
;; ANSWER SECTION:
default._bimi.example.com. 3600 IN TXT "v=BIMI1; l=https://example.com/logo.svg; a=https://example.com/vmc.pem"
VMC ファイルの内容は curl と openssl で確認できます。
curl -s "https://example.com/vmc.pem" | openssl x509 -text -noout
証明書の Subject、有効期限、ロゴハッシュの拡張フィールドを確認します。
外部の視点からも確認したい場合は、Labee Dev Toolbox の Mail Auth API を使うと、外部の視点から見た BIMI レコードを取得できます。
curl "https://labee.dev/api/mail-auth?domain=example.com"
{
"success": true,
"data": {
"spf": { "record": "v=spf1 include:_spf.google.com ~all", "exists": true },
"dkim": { "record": "v=DKIM1; k=rsa; p=MIIBIjANBgkqh...", "exists": true, "selector": "default" },
"dmarc": {
"record": "v=DMARC1; p=reject; rua=mailto:dmarc@example.com",
"exists": true
},
"bimi": {
"record": "v=BIMI1; l=https://example.com/logo.svg; a=https://example.com/vmc.pem",
"exists": true
}
},
"error": null,
"meta": { "responseTime": 123 }
}
data.bimi.exists が true であれば BIMI レコードが公開されています。data.bimi.record の a= タグで VMC の URL を確認できます。
よくある問題
VMC の取得・運用では、DMARC ポリシーの強度不足、SVG 形式の不備、商標登録の未完了が主な障壁です。
DMARC ポリシーが p=none で BIMI が表示されない
BIMI は p=quarantine 以上が前提条件です。p=none のドメインでは、BIMI レコードと VMC を設定しても Gmail はロゴを表示しません。DMARC ポリシーを先に強化する必要があります。
SVG が Tiny PS 形式でない
通常の SVG エディター(Illustrator、Inkscape など)で書き出した SVG は、BIMI が要求する SVG Tiny PS 形式に準拠していないことがあります。スクリプト、アニメーション、外部フォント、外部画像参照が含まれていると拒否されます。BIMI Group が提供する SVG バリデーターで事前に検証します。
VMC の費用と更新
VMC の年間費用は DigiCert で約 1,500 USD、Entrust でも同程度です。証明書の有効期間は 1 年で、毎年更新が必要です。更新を忘れると Gmail でのロゴ表示が停止します。
商標登録が完了していない
VMC の申請には商標登録証明書が必要です。商標出願中(登録前)の状態では発行されません。日本の特許庁での商標登録には出願から 6〜12 か月程度かかるため、BIMI の導入計画には商標登録のリードタイムを含めます。