Google対シマンテック サーバ証明書戦争から目が離せない

※この記事にはプロモーションが含まれています。

先日(2017年3月23日)にGoogleがシマンテックのサーバ証明書に対しての制裁に関する情報をブログにアップしました。

GoogleのエンジニアであるRyan Sleeviさんがアップしたもので、Chromeでのシマンテックの証明書の有効期間を最大9か月までにする、EV証明書を最低でも1年間は信頼しない(グリーンバーにしない)という内容。

しかも、現在発行済みの証明書も再認証、再発行をするように、とのこと。

一体、Googleとシマンテックの間に何が起こっているのでしょうか?

Google対シマンテック サーバ証明書戦争から目が離せない

この制裁はシマンテックには寝耳に水、青天の霹靂、突発的な出来事だったようで、ブログで反論をしています。

その内容としては、 Google社のブログで示されたのは実行策ではなく提案。また、問題があった証明書は30000件ではなく、127件であり、シマンテックはその提案に反対し、懸念を解消するためにGoogle社と協議するとのこと。

具体的なGoogleからの提案内容とは?

  • シマンテックの発行済み証明書の再認証と再発行すること
  • Chrome上での、「有効」と見なす証明書有効期間上限を9ヶ月へ短縮すること
  • Chrome上での、EV SSL証明書の信頼を示す緑色のアドレスバー表示を最短1年間無効化すること

の3点。

シマンテックの証明書の有効期間が最長9か月とは?

Ryan Sleeviさんが言っている上限の9か月については、Chromeのアップデートごとに
段階的に有効期間の制限を適用するという内容です。

Chromeのリリースカレンダーに照らし合わせると

Chrome59 2017/6/6 (Dev, Beta, Stable):33ヶ月の有効期間(1023日)
Chrome60 2017/8/1 (Dev, Beta, Stable):27ヶ月の有効期間(837日)
Chrome61 2017/9/12 (Dev, Beta, Stable):21ヶ月の有効期間(651日)
Chrome62 2017/10/24 (Dev, Beta, Stable):15ヶ月の有効期間(465日)
Chrome63 2017/12/12 (Dev, Beta):9ヶ月の有効期間(279日)
Chrome63 2017/12/12(Stable):15ヶ月の有効期間(465日)
Chrome64 2018/1 (Dev, Beta, Stable):9ヶ月の有効期間(279日)

Dev:デベロッパー向け
Beta:betaバージョン
Stable:安定版(いわゆる一般向けのリリース)

Chromium Development Calendar and Release Info

となります。

1年程度かけてじょじょに有効期間を短くしていくという、まるで真綿で首を絞めるような感じですが、さすがにRyan Sleeviさんもシマンテックの証明書の普及率や影響度は考慮されたようで、一気にはやらずこのような段階的な提案になっているようですよね。

9ヶ月という中途半端とも思える有効期間ですが、おそらくサーバ証明書は3ヶ月前から更新できるのが一般的なので、実質製品としては半年(6ヶ月)に制限します、ということなんだと思います。

しかし、ユーザ側にとっては半年ごとに更新しなきゃならんとなると、面倒ですし、場合によってはコストもかかってしまうので、シマンテックだけでの問題ではなく一大事になりますね。

そもそもどうしてシマンテックへの制裁提案がされたのか?

では、数ある認証局でもどうしてシマンテックだけが標的になっているのかというとちょっと数年前の話に遡る必要があります。

2015年9月

シマンテックのグループ会社である、Thawte(ソートと読みます)が、google.com、www.google.comというコモンネームのEV SSL証明書をGoogleの承認なく発行していたことが判明しました。

判明した理由としては、CT(Certificate Transparency)の監査ログから確認できたためです。

このCTとは今でこそRFC6962としてRFC化されていますが、もともとはGoogleが提唱した認証局が発行した証明書をログサーバに登録して、不正な証明書などが発行されていないかを誰でもチェックできるようにしようというものです。

認証局による誤発行問題などに対する大義名分としては良いのですが、会社によっては外部公開していないサイトもあるわけで、また、どの会社がどのような証明書を取得しているかもわかってしまうわけでプライバシーの観点からの問題を指摘している方もいるような技術です。

とはいえ、ChromeではこのCT対応していないEV証明書については、EV証明書として扱わない実装がされているので、実質CTはONでなければならない状況です。

少々話が脱線しましたが、このThawteによる誤発行は結局内部でのテスト目的として発行したものであり、問題が発見されてからすぐに失効したということで、シマンテックとしては再発防止に努めるということで話を終わらせようとしました。

この際の報告では、23枚のテスト証明書が発行されたという内容でした。

ところが、Googleが調査を進めると実際には有効な76ドメイン、164枚の証明書と、未登録ドメインの2458枚の証明書が発行されていることが確認されました。

これに対してGoogleはシマンテックへ報告や対応を要求したようですが、その後の情報更新は確認できていません。(内内ではあったのかもしれませんが)

参考サイト
Sustaining Digital Certificate Security
https://security.googleblog.com/2015/10/sustaining-digital-certificate-security.html

2016年6月

GoogleはChromeでシマンテックの証明書に対してCTに登録されていないものは信頼しない証明書として扱うというお達しをしたようで、2016年6月にシマンテックは全ての証明書でCTが有効になるような仕様変更を行っています。

※それまではCTはオプションだったのですが、登録しないという選択肢がなくなっています。

従来からChromeはEVについてはCT対応を求めていたのですが、シマンテックだけはEV以外の通常の証明書に対してもCTを必須としたわけです。

追記

2017 年 10 月以降に発行されるパブリック SSL/TLS 証明書は、すべての種類について、Chrome ブラウザの Certificate Transparency(CT)ポリシーに準拠するものだけが、同ブラウザによって信頼できる証明書とみなされることになります。

2016年12月

Chrome53のバグによるCTに関するエラー。

Chromeの53にバグがあり、シマンテックのサーバ証明書を使っているサイトに接続すると
ERR_CERTIFICATE_TRANSPARENCY_REQUIRED
というエラーが出ることがあることが判明。

これは狙ったわけではないとは思いますが、シマンテックとしては嫌がらせを受けた、と感じてもおかしくないようなタイミングですね。

2017年1月

これが今回127枚なのか、30000枚なのかと問題になっている証明書の話です。

直接シマンテックが誤発行したようではないですが、シマンテックの証明書を発行しているパートナーが誤発行(内容はよくわかりません)したという問題。

まぁ、パートナーとは言え、認証局として監督できていないわけですから、言い逃れはできないですよね。

ブログでは、問題に関わったパートナーの認定を即時終了し、RAというプログラム自体の終了を発表しています。と書いてあるようですが。

2017年3月

今回の発表です。

で、実はこのタイミングでまたもやChromeのバグが見つかっているようです。

Chrome57にはバグがあってEVサーバ証明書なのに、アドレスバーに組織名が表示されないケースがあるようです。

原因としては証明書のPolicy IDの順番と言うことのようなのですが、Googleではあまり直す気がないようで、シマンテックではChromeの仕様に合わせる変更を行い再発行により対応できることを案内しています。

なお、このバグはシマンテックの証明書だけで発生するものではないので、他の認証局の証明書でも発生する可能性はありそうです。

今後もGoogleとシマンテックの戦いは続きそうなので、目が離せないですね。

コメント