2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

CNN の BIMI レコードを調べてみた

Last updated at Posted at 2020-07-26

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

以上です。

2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?