2016 年 04 月 05 日
Google の透明性レポートと HSTS(HTTP Strict Transport Security)
Google の透明性レポート
Google は 3 月 15 日の「透明性レポート」の中で、「Google での HTTPS への対応」として、自社の HTTPS の対応・利用状況を報告しています。既にいくつかのニュースサイト等でも紹介され、ご存知の方も多いのではないかと思います。
同レポートの中で Google は、「Google のサービス全体で 100% の暗号化の実現を目指している」と述べており、既に全体では HTTPS 接続が 75% 以上に達していることや、主だったサービス別の HTTPS 利用状況として Gmail と Google ドライブは 100% SSL/TLS による HTTPS 通信になっていることを示しています。
次に、同レポートの中からリンクをたどり「トップサイトでの HTTPS への対応」というページを見ると、その中で Google は、Google が HTTPS 導入状況を追跡してきた、世界中のウエッブサイトのトラフィックのおよそ25% を占めると概算される、Google 以外のトップ 100 サイトのリストと、その HTTPS 対応状況を紹介しています。併せて Google は、それらサイトに対し、「2016 年末までに HTTPS に移行できるよう手助けすることが可能」とも述べています。
実際の"手助け"がどのようなものかは分かりませんが、同ページには、「HTTPS に関するヒントや秘訣」や「具体的なアドバイス」といった記載とリンクもあり、それらリンク先の内容も手助けの 1 つなのかもしれない、と想像しています。
リンク先の内容には、「Turn On Strict Transport Security ・・・」や、「HTTPS を使用する場合のおすすめの方法」として「HTTP Strict Transport Security(HSTS)・・、HSTS を必ず有効にします。」など、HSTS に関する記載も含まれており、「HSTS は、自動的に HTTPS を使用してページをリクエストするようにブラウザに指示する仕組みで、ユーザーがブラウザのアドレスバーに http を入力した場合でも HTTPS が使用されます」という仕組みであることから、これにより各サイトが HTTPS で接続されるのを促進していこうともしているのかもしれない、と想像した次第です。
HSTS
HSTS(HTTP Strict Transport Security)は、前述のように、(ユーザーに意識させることなく) HTTP に代わり、HTTPS で接続するよう強制していく仕組みで、RFC6797 で規定されており、IPA(情報処理推進機構)の「SSL/TLS暗号設定ガイドライン」の中でも、「7.2 さらに安全性を高めるために」の「7.2.1 HTTP Strict Transport Security(HSTS)の設定有効化」として紹介されています。
HSTS が HTTPS を強制していく方法には、実は 2 通りあり、1 つは web サーバ側で HSTS 用の"HTTP ヘッダ"を使い、ブラウザ側に HTTPS で接続すべきサイトであると教える方法で、最初の接続だけ HTTP となる可能性がありますが、同ブラウザからの以後の接続は HTTPS になります。もう1つは、"Preloaded HSTS" という方法で、ブラウザに予め HTTPS で接続すべきサイトのドメイン名のリストを組み込んでおき(実装しておき)、最初から HTTPS で接続させる方法です。
Google Chrome や Mozilla Firefox には、既に "Preloaded HSTS" で最初から HTTPS 接続となるサイトやドメインが数多く登録・実装されており、具体的には、これやこれが、そのソースとなります。
ちなみに、前述の「トップサイトでの HTTPS への対応」のページの中の「デフォルトで最新の HTTPS を利用しているトップサイト」のリスト中、"Preloaded HSTS" のリストに含まれているものを探してみると、"facebook.com"、" paypal.com"、" twitter.com"、" wikipedia.org" といった非常に有名なサイトが見つかり、これらが "Preloaded HSTS" を利用して常時 HTTPS としていることが分かります。
Preloaded HSTS の対応状況
試しに、前述の Google Chrome 側のソース(transport_security_state_static.json)上で、サイトやドメインの登録数がどのように推移してきたか、過去のソースから追いかけてみました("force-https"での登録数を計数してみました)。
上のグラフの通り、"Preloaded HSTS" の登録数は急速に増加して、2016 年 3 月時点で 8,000 サイト/ドメインを超えています。常時 HTTPS の動きが加速しているのだなと実感します。
日本のサイトの対応状況も気になり、本当は、ドメインの保有組織等をきちんと確認して計数すれば良いのですが、簡易にトップレベルドメインが"jp"となるドメイン名だけ抽出してみたところ、登録状況の推移は以下のようになりました。こちらも順調に増加しています。
前述の IPA の「SSL/TLS 暗号設定ガイドライン」が最初に公開されたのが 2015 年 5 月ですので、そこで紹介されたことも、増加に寄与しているのかもしれません。