zkat’s diary

技術ブログ

BIMI(Brand Indicators for Message Identification)について

BIMIの概要

Seth Blank氏を中心に、2019年頃からIETFで検討されているインターネットドラフトです。

datatracker.ietf.org

メール送信者が指定するロゴをメール受信者側で表示できるようにすることで、なりすましメールでないことを視覚的に判別できるようになります。 単なるロゴ表示機能だけではなく、無関係な第三者によるロゴの使用を防ぐための仕組みも提供します。

BIMIを利用する為の前提

メールのなりすましを防ぐ既存技術、DMARCが設定済みであることが必要です。DMARCは更に別の技術、SPFDKIM から成り立つものです。 BIMIに関係して、依存する既存技術を整理すると以下のようになります。

BIMIの導入により、ロゴを表示できるようになるのはもちろんですが、DMARCの普及によるメールセキュリティの改善も見込まれます。

BIMIの全体像とロゴ不正利用の防止

BIMIを用いた際のメール送受信に関する処理を以下のように図示します。 BIMIで特徴的なのは⑤の処理だと思います。メールの送信者がそのロゴを使用するにふさわしい者であることを証明する証明書が存在します。メールの受信者は、この証明書を検証することでロゴが適正に利用されていることを確認することができます。この証明書のことを、VMC(Verified Mark Certificate)といいます。

VMCの発行は、現在DigiCertEntrustが行っているようです。この記事では、以降VMCについて深堀します。

VMCの発行について

以下の情報に対して、認証局が審査を行いお墨付きを与えたものです。

  • ロゴデータ(SVG形式)
  • 使用者の情報(Subject)
  • どこで使うか(ドメイン

認証局にてどのような審査が行われるかについては、BIMIグループの資料を確認することで知ることができます。

https://bimigroup.org/resources/VMC_Requirements_latest.pdf

面白いところとしては、p42の3.2.16 Registered Mark Verificationにて、ロゴを認証する方法についての項目が存在するところかと思います。 申請者はしかるべきTrademark office(日本であれば、特許庁文化庁が記載されていますね)にて商標を登録し、その商標登録番号を認証局に伝える必要があるようですね。

www.wipo.int

VMCを実際に見てみる

amazon.co.jpは、BIMIに対応しているようなので、実際に証明書の内容を見てみます。まずは、証明書がどこで公開されているかをDNSをひくことで確認します。

$ dig +short txt default._bimi.amazon.co.jp
"v=BIMI1;l=https://d3frv9g52qce38.cloudfront.net/amazondefault/order_329474121_logo.svg;a=https://d3frv9g52qce38.cloudfront.net/amazondefault/amazon_web_services_inc.pem"

a=の値として記載されているURLがVMCの在り処となります。これをダウンロードして、解いてみると以下のようになります。 DigiCertが発行したVMCを用いていることが分かります。

また、OIDの1.3.6.1.5.5.7.1.12を私の環境では正しくパースできていませんが、ここにBIMIのロゴデータがSVG形式で入っているものと思われます。

Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number:
            05:ba:54:0c:24:1c:f1:ff:9e:9a:77:f8:fb:82:bc:a8
        Signature Algorithm: sha256WithRSAEncryption
        Issuer: C = US, O = "DigiCert, Inc.", CN = DigiCert Verified Mark RSA4096 SHA256 2021 CA1
        Validity
            Not Before: Dec 23 00:00:00 2022 GMT
            Not After : Jan 23 23:59:59 2024 GMT
        Subject: jurisdictionC = US, jurisdictionST = Delaware, businessCategory = Private Organization, serialNumber = 4152954, C = US, ST = Washington, L = Seattle, street = 410 Terry Avenue N, O = "Amazon Web Services, Inc.", CN = "Amazon Web Services, Inc.", 1.3.6.1.4.1.53087.1.13 = Registered Mark, 1.3.6.1.4.1.53087.1.3 = US, 1.3.6.1.4.1.53087.1.4 = 6178564
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
                RSA Public-Key: (2048 bit)
                Modulus:
                    00:c4:65:37:70:ba:65:a8:71:5a:87:7e:3e:74:80:
                    c8:10:5f:05:86:d5:1f:25:3d:4b:37:d8:97:f8:e7:
                    f5:d3:f7:6d:0b:d1:53:90:84:64:d4:37:22:ad:1f:
                    de:0e:0e:de:11:fc:62:42:77:8a:ff:ca:ee:16:ee:
                    a5:20:13:a2:d4:f5:1c:4a:e6:25:25:81:d3:c3:7f:
                    ff:22:c9:a6:fd:c0:77:56:e7:8c:13:e0:b8:db:36:
                    6c:7a:44:27:a8:39:c2:3a:f4:5b:d8:a7:9e:0c:40:
                    5a:23:2b:17:39:50:f3:6e:65:63:1d:3e:65:4b:18:
                    27:26:12:74:1a:5b:d6:77:33:ac:2f:ca:cd:8a:d0:
                    92:da:bd:b8:a7:37:5e:80:cc:cf:24:13:f3:7a:78:
                    fd:d9:f7:79:17:fc:f6:f5:cc:81:c7:c3:bb:92:f7:
                    f5:60:8a:f4:37:41:23:d4:a4:d8:8e:08:cd:9e:c2:
                    ec:e8:0f:58:4e:3f:b9:37:c5:dc:9e:cf:c9:c5:43:
                    1e:e5:ef:87:f0:94:3b:9e:d8:d6:7a:fb:f4:c2:7f:
                    d4:25:53:f5:ec:1a:f2:be:81:2a:73:a7:3b:32:ab:
                    e3:55:6a:f5:bc:fd:d2:9b:4d:80:8e:a7:1f:90:84:
                    91:43:19:44:c6:94:cf:39:e6:30:af:13:d8:54:02:
                    79:7b
                Exponent: 65537 (0x10001)
        X509v3 extensions:
            X509v3 Authority Key Identifier:
                keyid:BE:9F:BD:8D:57:6D:95:B5:AD:63:C3:97:4E:AB:A8:84:5D:3A:07:F5

            X509v3 Subject Key Identifier:
                B3:C5:40:4E:B8:57:BE:0D:44:D9:EA:BD:05:88:04:2D:87:6F:27:78
            X509v3 Subject Alternative Name:
                DNS:amazon.fr, DNS:amazon.it, DNS:amazon.es, DNS:amazon.eg, DNS:amazon.in, DNS:amazon.co.jp, DNS:amazon.ca, DNS:amazon.cn, DNS:amazon.com.br, DNS:amazon.com.mx, DNS:amazon.com.au, DNS:amazon.nl, DNS:amazon.ae, DNS:amazon.sa, DNS:amazon.com.tr, DNS:amazon.sg, DNS:amazon.pl, DNS:amazon.se, DNS:amazon.com, DNS:amazon.co.uk, DNS:amazon.com.be, DNS:amazon.de
            X509v3 Extended Key Usage:
                1.3.6.1.5.5.7.3.31
            X509v3 CRL Distribution Points:

                Full Name:
                  URI:http://crl3.digicert.com/DigiCertVerifiedMarkRSA4096SHA2562021CA1.crl

                Full Name:
                  URI:http://crl4.digicert.com/DigiCertVerifiedMarkRSA4096SHA2562021CA1.crl

            X509v3 Certificate Policies:
                Policy: 2.16.840.1.114412.0.2.5
                  CPS: http://www.digicert.com/CPS
                Policy: 1.3.6.1.4.1.53087.1.1

            Authority Information Access:
                CA Issuers - URI:http://cacerts.digicert.com/DigiCertVerifiedMarkRSA4096SHA2562021CA1.crt

            X509v3 Basic Constraints: critical
                CA:FALSE
            1.3.6.1.5.5.7.1.12:
image/svg+xml0#0!0...+.........#.J.9.....$y.I.|...0......~data:image/svg+xml;base64,H4sIAAAAAAAACl1STY+bMBC976+wvFd78Iw/sKuQVbZSb5UqtXvpjRKSILEQBRR2++s7Jm2VVpZnMON5b96DzdPbay+u7WXqxqGSCEaKdmjGfTccK/ny7ZOOUkxzPezrfhzaSr63k3zaPmym6/G+jaT4UU/tl8t46Hq+NnfDuz5PUly7dnke3ypphBGYKG8pmHSYKnma5/OHoliWBRYL4+VYkDGmYGy5fRBiM3dz3253r/XPcdgUt1N+f2mbWTR9PTFG008apWDavpKPh8NBiqXbzyeeKjOd2u54mm+HYm0+1/Ppvpn+NpOlg22l2FfyM3oH3qnkwIaPaCM4hSYAlQrR8yYIuRh/P+/QRDBcvCXDCxUhJKeigzI1GsEjB1tqwKAtkFUIIWgCjDt0AQIz3JJZVwrgGd0Qv/Zg4p90q6InIJUM+NgQlMTQPBffh6gIrFMWyvj9XvJ/Iv91YJUc+DsGFXkGnpdYB4fgNdo1AnGIrFhDsFlOBEyc48qdNLisJakE5HQAlxSxeVE7CGxFAMx1575iKCFElRiKVaRsa3bHZj+QMiV4ThpVto/bY6kCMKOHMiiX0XkMt2rb5H9l+wsPfa8QxQIAAA==
            CT Precertificate SCTs:
                Signed Certificate Timestamp:
                    Version   : v1 (0x0)
                    Log ID    : 55:59:53:AE:30:96:00:80:6C:D2:EB:52:08:A6:C9:9E:
                                93:18:28:AC:10:56:B4:42:1C:55:36:15:4C:5F:75:AC
                    Timestamp : Dec 23 21:16:05.891 2022 GMT
                    Extensions: none
                    Signature : ecdsa-with-SHA256
                                30:45:02:21:00:B6:DF:61:82:C8:48:A7:03:E3:7A:CC:
                                82:38:D0:38:A7:99:74:45:A4:FB:32:EA:0F:90:A6:FD:
                                BC:C0:EE:67:52:02:20:31:86:87:F6:5C:31:16:EA:90:
                                D1:5F:A3:13:70:D9:25:E6:39:C1:04:D4:39:F9:4B:B7:
                                AD:73:6F:E6:D2:F1:CE
    Signature Algorithm: sha256WithRSAEncryption
         66:a4:1c:c8:d3:d7:e8:61:18:e3:43:7f:5c:4b:8e:43:56:18:
         8b:83:bd:a9:50:e8:1e:d1:0c:8c:96:bf:f0:be:94:b5:25:90:
         a1:56:e6:c6:47:ae:9b:eb:52:14:4a:f5:39:d5:4a:59:b3:e3:
         5e:a5:65:50:5e:35:d4:90:e0:07:ea:04:2d:8d:d3:7a:eb:1d:
         ad:ad:71:09:df:c1:ef:89:6a:bb:1f:13:2f:b2:d6:5e:36:c2:
         34:3a:42:f3:30:c2:7b:95:f6:cc:ac:77:91:1e:c9:91:3a:91:
         38:df:b9:9d:a0:d7:3d:ef:69:ba:30:c2:91:8a:e4:62:18:92:
         20:d3:39:8e:2c:62:ca:c0:74:bf:57:30:89:e8:f3:db:77:1f:
         9c:eb:e9:b0:6d:7a:5c:47:0c:1e:bc:15:43:65:4b:dd:64:d6:
         1a:4c:98:f8:2f:2f:14:24:8b:0b:25:1e:58:d9:c8:16:23:2d:
         45:97:7c:8e:6d:4c:7c:c4:2e:9b:5a:8e:58:57:49:99:05:b6:
         3c:6c:fa:05:f8:e5:8a:d0:49:10:35:78:17:c2:7e:e0:fd:0b:
         94:cf:4d:90:a3:a4:0d:77:cb:a1:54:32:c7:b4:7b:af:2d:db:
         9b:4d:f0:51:18:ab:42:87:fc:4d:60:d0:c2:85:22:b5:31:0b:
         90:78:c0:6b:17:f8:98:37:a1:fa:bd:14:16:1f:d2:ee:5d:a8:
         6b:a2:22:73:13:1b:1f:0b:9b:0c:4c:2d:5f:f4:7e:e1:28:9b:
         68:ad:1a:c9:a0:45:65:81:c9:80:04:a6:3b:7b:8e:26:9b:dd:
         76:5c:31:76:df:b7:50:b1:9a:ea:3a:38:77:cd:61:61:e4:e6:
         66:73:e2:d8:9a:c6:46:97:8d:0e:00:c0:e2:a7:9c:51:de:d3:
         4b:51:d0:6e:aa:e1:3d:9d:94:8d:fb:5c:f4:d6:78:8a:84:dd:
         f2:e1:aa:f6:1f:2f:77:fc:e6:68:2e:79:68:e8:31:aa:79:ea:
         1e:6b:c1:ec:c6:16:48:ed:d8:ce:40:95:96:45:da:fa:ab:30:
         58:91:d7:f7:08:ad:31:0e:d4:37:91:35:3c:71:fd:9c:5a:c2:
         1d:ae:b8:b5:46:6a:6c:e4:11:5c:fd:9d:74:26:ca:7e:44:c8:
         a2:88:70:ab:e5:7f:5c:a5:29:66:02:e6:fb:f3:7d:1b:e2:75:
         7e:34:f2:a7:bb:a8:30:bc:46:ff:f9:13:41:39:8a:f8:28:fa:
         11:66:1c:d0:4b:10:a7:b9:7a:66:99:57:b7:e1:29:ef:a5:24:
         4e:15:60:06:38:ed:c6:7b:44:02:54:58:60:d6:69:0e:cb:0c:
         b9:08:8c:a9:84:f4:58:63

VMCはどれくらい発行されているか

2023/02/25時点の情報を、Certificate Transparencyの仕組みを用いて調べてみました。

国別発行件数

件数
アメリ 1,805件
イギリス 553件
ドイツ 241件
オーストラリア 164件
インド 162件
日本 127件

その他の国含めた発行割合は以下の通りでした。

ちなみに日本の127件のうち、具体的な組織としては以下のようなところがありました。 Paidy, Inc.、Rakuten Group, Inc、株式会社ビューカード、SmartHR, Inc.、QUALITIA CO., LTD、

これから普及していってほしいですね。

なお、CTのログサーバーについては、先ほどのBIMIグループの資料のp.90のAPPENDIX F - CT LOGS APPROVED BY AUTHINDICATORS WORKING GROUPに記載があります。
現在では、DigiCertが運用するGorgonというもの1つだけのようですので、このログサーバーを調べました。