GmailにBIMI準拠の認証企業/ブランドロゴ表示機能
https://pc.watch.impress.co.jp/docs/news/1267121.html
https://cloud.google.com/blog/products/g-suite/gsuite-security-updates-for-gmail-meet-chat-and-admin
Google が Gmail プラットフォームにおいて BIMI 規格のサポートをするというアナウンスがあり、DigiCert が CNN の BIMI 準拠証明書を発行したとのことです。試しに確認してみました。
なお、僕自身はそこまで PKI や証明書のデータ構造などに詳しくないため、誤りや勘違いなどがあればご指摘ください。
BIMI とは
https://bimigroup.org/all-about-bimi/
簡単に言えば、なりすましではないと確認された電子メールにロゴマークを表示して、フィッシングメールなどの攻撃からユーザーを保護する仕組みです。ロゴマークが表示される条件は、
- ドメインが DMARC レコードに対応している
- ドメインの DMARC のポリシーが quarantine 以上である
- ドメインが BIMI レコードに対応している
- ロゴマークが信頼できる
という条件を全て満足することです。
CNN ドメインが BIMI 対応かどうかの確認
DMARC レコードに対応、かつ、quarantine 以上である
$ dig +short _dmarc.cnn.com txt
"v=DMARC1; p=reject; rua=mailto:dmarc_agg@vali.email,mailto:tw@rua.agari.com; ruf=mailto:tw@ruf.agari.com"
BIMI レコードに対応している
$ dig +short default._bimi.cnn.com txt
"v=BIMI1; l=https://amplify.valimail.com/bimi/time-warner/ITg_B9KhtJI-cnn_com.svg; a=https://amplify.valimail.com/bimi/time-warner/ITg_B9KhtJI-cnn_com.pem"
証明書の確認
証明書は、aタグ
で指定されているので、https://amplify.valimail.com/bimi/time-warner/ITg_B9KhtJI-cnn_com.pem
を確認します。
証明書のダウンロード
$ wget https://amplify.valimail.com/bimi/time-warner/ITg_B9KhtJI-cnn_com.pem
--2020-07-26 19:16:36-- https://amplify.valimail.com/bimi/time-warner/ITg_B9KhtJI-cnn_com.pem
amplify.valimail.com (amplify.valimail.com) をDNSに問いあわせています... 54.230.175.50, 54.230.175.65, 54.230.175.104, ...
amplify.valimail.com (amplify.valimail.com)|54.230.175.50|:443 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 9216 (9.0K) [application/x-x509-ca-cert]
`ITg_B9KhtJI-cnn_com.pem' に保存中
X.509 拡張部分を確認
1.3.6.1.5.5.7.1.12
の部分に BASE64 形式でロゴデータが記録されているようです。
https://oidref.com/1.3.6.1.5.5.7.1.12
$ openssl x509 -text -noout -in ITg_B9KhtJI-cnn_com.pem
Certificate:
Data:
Version: 3 (0x2)
Serial Number:
0b:cf:58:1f:50:dd:0f:f4:87:f0:c0:1f:7a:d9:1f:3c
Signature Algorithm: sha256WithRSAEncryption
Issuer: C=US, ST=Utah, L=Lehi, O=DigiCert, Inc., OU=www.digicert.com, CN=DigiCert Verified Mark Intermediate CA
Validity
Not Before: Jul 14 00:00:00 2020 GMT
Not After : Jan 9 12:00:00 2021 GMT
Subject: businessCategory=Private Organization/1.3.6.1.4.1.311.60.2.1.3=US/1.3.6.1.4.1.311.60.2.1.2=Delaware/serialNumber=2976730/street=190 Marietta St NW/postalCode=30303, C=US, ST=Georgia, L=Atlanta, O=Cable News Network, Inc./1.3.6.1.4.1.53087.1.3=US/1.3.6.1.4.1.53087.1.4=5817930
...
X509v3 extensions:
...
X509v3 Basic Constraints: critical
CA:FALSE
1.3.6.1.5.5.7.1.12:
image/svg+xml0#0!0...+........W1.'PLp.r...4M..Yad.0.......data:image/svg+xml,base64,H4sIAAAAAAAACp1UTW/bOBA9x7+Cq54KkDSHFL+MOEUbFE2BblFgAV8...moQI8fSd/Emfs5D56361+A9wMCyrugYAAA==
1.3.6.1.4.1.11129.2.4.2:
.z.x.v.UYS.0...l..R......(..V.B.U6.L_u....sN<.......G0E.!......;.....A.....nH..<...d./'.... ..m.....@.\.~^....B..I.
/p7]r...
Signature Algorithm: sha256WithRSAEncryption
ac:db:fa:df:c8:e8:8f:e7:69:20:e3:f4:13:f4:d6:27:e3:7f:
...
あとで確認するために image/svg+xml を BASE64 データをデコードしてファイルに保存します。
$ echo "H4sIAAAAAAAACp1UTW/bOBA9x7+Cq54KkDSHFL+MOEUbFE2BblFgAV8...moQI8fSd/Emfs5D56361+A9wMCyrugYAAA==" | base64 -D > cnn.com.logo.gz
ロゴデータの確認
ロゴデータは、lタグ
で指定されているので、https://amplify.valimail.com/bimi/time-warner/ITg_B9KhtJI-cnn_com.svg
を確認します。
ロゴデータのダウンロード
$ wget https://amplify.valimail.com/bimi/time-warner/ITg_B9KhtJI-cnn_com.svg
--2020-07-26 19:26:48-- https://amplify.valimail.com/bimi/time-warner/ITg_B9KhtJI-cnn_com.svg
amplify.valimail.com (amplify.valimail.com) をDNSに問いあわせています... 54.230.175.50, 54.230.175.104, 54.230.175.65, ...
amplify.valimail.com (amplify.valimail.com)|54.230.175.50|:443 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 1722 (1.7K) [image/svg+xml]
`ITg_B9KhtJI-cnn_com.svg' に保存中
ロゴデータの正当性の確認
得られた2つのデータを突合します。
$ gzip -d cnn.com.logo.gz
$ cmp -l cnn.com.logo ITg_B9KhtJI-cnn_com.svg
以上です。