megamouthの葬列

長い旅路の終わり

オレオレ証明書を使い続ける上場企業をまとめてみた

あるいは私たちがPKIについて説明し続けなければいけない理由

Web屋のなくならない仕事の一つに「SSL証明書PKIについて説明する」というのがある。
世の中のサイトはだいたいhttps://というアドレスでつながるように出来ていて、httpsでつながるということは何らかのSSL/TLS証明書が必要だということだ。(さもなければchromeがユーザーに不吉な警告を発することになる)
証明書が必要になる度、同じ質問が繰り返される。「なんか全部値段が違うけど、どの証明書(ブランド)がいいの?」と。そして私たちは毎回困ってしまう。

エンドユーザーの立場で言えば、証明書が有効でありさえすれば、無料のLet's Encryptでも21万円するDigiCertグローバル・サーバID EVでも、Webサイトの利便性は何も変わらない。私たちWeb制作業者の立場でも、代理店契約でもしない限り、証明書そのものの価格は一定なので、高い証明書を買わせるインセンティブもまるでない。(強いて言えば、DV証明書でファイル認証できれば発行手続きが楽でいいなあ、と思うぐらいである)

証明書の価格が違うから、クライアントはさぞ違うのだろうと思っている。もちろん本当に違いはある。発行手続きの煩雑さや更新運用をどうするかという下世話なレベルで言うとかなり違う。それはそうなんだけど、例えばchromefirefoxが緑色の社名表示をなくしたご時世に、EV証明書である必要があるのか、と問われると、どうでもいいかもしんないですね、と思うし、互換性の見地で言っても、ガラケー時代ならともかく、最近なら証明書間に違いはないので、やっぱりどうでもいいと思う。もっと言うと、もうWebサイトなんてどうでもいいんじゃないですか?とも思うけど、それは言わないようにしてる。

たまに、ロードバランサーにインストールできる証明書はこれ、とか、うちのサーバーならこれ、とかホスティング業者に指定されることもある。あれ、どういう理屈なのかよくわからない。ビジネスの話なのか、技術的な話なのかもわからない。多分、業者の担当者もわかってない。
議論する元気もないから、はあ、そうですか、とだけ答えて言うとおりにしている。高額な証明書の意味合いが曖昧なのに加えて、技術要件かどうかまで曖昧である。いつもだいたいで証明書を選んでいる。

真面目にやろうとすればするほど、根源的な話をする羽目になる。SSL/TLS証明書とは何か?公開鍵暗号とは何か?PKIとは何か?DV、OV、EVの違いは何か?ユーザーがセキュアな接続を確認するようにするには?そこまで説明してゼイゼイしてると、最終的には「ふーん。じゃあ3万ぐらいのやつで」みたいな話で終わってしまう。むなしい。

みなさん○○を使ってらっしゃいますよ

と言えたら楽だなあ、と思った。
もちろん、みんなが使っているからセキュアというわけではない、のだけど、多くの場合「みんなやってるんなら、それがいいんじゃない?」という論理のほうが強いのである。残念ながら。

なので、上場企業のコーポレートページの証明書を全部調べればいいのではないか、と思った。
上場企業のHPを全部調べるのは過去、

www.megamouth.info

でやったことがある。

今回はEDINETから法人データをCSVでダウンロードしてきて、なぜか糸井重里が入っているのに笑ったあと、証券コードがあるものだけを引っ張ってきた。
EDINETのCSVにはコーポーレートページのURLが含まれていないので、そちらは証券コードを元にみん株からゴニョゴニョした。
で、URLにあるfqdnで、「公式サイトがSSL化されていないURL」も含めて、https接続を行い、証明書を取得した。
つまり、この結果にはhttps接続を想定していないコーポレートサイトのサーバー証明書」も含まれている。

以下が結果になります。

docs.google.com

DVかOVか?それともEV?

f:id:megamouth:20200116220811p:plain

証明書がDVなのかOVなのかEVなのかは、X509v3のExtensionにあるcertificatePolicies(CP)を見ればわかる。正確にはoidを見ればわかる。DVなら"2.23.140.1.2.1"だし、OVなら"2.23.140.1.2.2"である。
EVの場合は各社バラバラの複数のoidがある。どのoidがEVのCPなのかはwikipediaに一覧表がある。だが、『ソースはwikipedia(笑』と言われるのも嫌だったので、chromiumのソースからoidの一覧を生成して判別している。(あまり変わらなかった気もする)

で、結果としてEV証明書は上場企業の9.1%しか使ってない。わりとびっくりした。上場企業ってそういう見栄えにこだわるイメージがあった。逆にそういうところにコストをかけない、かける必要がないという選択ができるのも大企業なのかもしれない。

VeriSignの証明書はやっぱ違うよね

f:id:megamouth:20200116221409p:plain

昔、自社サービスをSSL化することになって証明書をどうするか、という話になって、当時はGeoTrustが安くて3万ぐらいだったろうか。だいたいそのへんが最安だったのだけど、社長が証明書つったたらVeriSignっしょ!って言って、15万ぐらい払って買って、もったいないので、せめてこれぐらいはと、ピカピカのサイトシールをサイトに貼った記憶がある。ありましたね、サイトシール。今でも貼ってるとこあるのかな。

X509証明書のissuerの項目を見れば、どこの証明書かはだいたいわかる。わかるけど、ブランド名まで特定できるわけではないので、なんとなく雰囲気で判別して集計した。よって、あんまり正確な結果ではない。
GeoTrustは今ではDigiCert(旧Symantecさらに旧VeriSign)なので、合わせるとDigiCert社の証明書が一番多いようだ。まあ、あれだけ買収してりゃあねえ。と思う。
個人的にはJPRSがそんなに流行ってないのが意外だった。あとLet's Encryptも5.8%ある。頑張れ超頑張れ。

オレオレ証明書を使ってるのは誰だ

で、ここまで真面目に読んだ方はタイトルが釣りだと気づいていると思う。ごめん。
ようするに、ここで言う「オレオレ証明書を使っている上場企業」というのは、正確には「コーポレートサイトにhttpsで接続されることを想定してないけど、ポート443をListenしていて、かつ、オレオレ証明書が入っている」上場企業のことである。issuerを見る限り、65社ぐらいあるようだった。
詳しくはスプレッドシートを見て、適当にhttps://でアクセスしてもらえばいいけど、警告を押し切って閲覧すると普通にhttpと同じコンテンツが見れたりする。あと、pleskとかcPanelの証明書が飛び出てくるとかもよくある(そちらはオレオレ証明書とは数えていない)
とはいえ、公式にhttps://のリンクがあるわけでなし、「警告が出てますが安全です」と公言しているわけでもないので、別に罪深いことでもない、と個人的には思っている。(かっこうは悪いし、そんなにお金ないの?とは思うけど)


今回は、某特任准教授(懲戒解雇)の言う、「90%安全な上場企業サイト」は9.1%しかない、ということを明らかにしました。
ではまた。


暗号技術入門 第3版

暗号技術入門 第3版