最後になりますが、証明書の自動化に関連する課題や教訓、改善の機会を共有したい方は、chrome-root-program [アットマーク] google [ドット] com までお知らせください。

注: この投稿に記載したサービス プロバイダについては、すべてを網羅しているわけでも、いずれかを推奨しているわけでもありません。あくまでも情報提供のみを目的としたものです。


Posted by Eiji Kitamura - Developer Relations Team

私たちの最終的な目標は、すべてのユーザーが HTTPS ファースト モードを利用することです。これを実現するため、HTTPS ファースト モードの保護機能をいくつかの新しい領域に拡張します。
  • Google の高度な保護機能プログラムに登録済みで、Chrome にログインしているユーザーに対して、HTTPS ファースト モードを有効にしました。これらのユーザーは、提供されている最強の保護を Google に求めています。ユーザーが直面しているのは安全でない接続がもたらす現実的な脅威であり、HTTPS ファースト モードは、そういった脅威を回避するために役立ちます。
  • 近日中にシークレット モードのデフォルトで HTTPS ファースト モードを有効にし、ブラウジング体験をさらに安全なものにしたいと考えています。
  • 現在、Chrome では、通常はユーザーが HTTPS でアクセスすると認識されているサイトを対象に、HTTPS ファースト モードの保護を自動的に有効化する試験運用を行っています。
  • さらに、HTTP をほとんど使っていないユーザーに対して、HTTPS ファースト モードを自動的に有効化することを検討しています。

試してみる

HTTPS のアップグレードや安全でないダウンロードに対する警告がすべてのユーザーにロールアウトされる前に試してみたい方は、chrome://flags で [HTTPS Upgrades] フラグと [Insecure download warnings] フラグを有効にすると、すぐに試すことができます。さらに保護を強化したい場合は、Chrome のセキュリティ設定(chrome://settings/security)で [常に安全な接続を使用する] を有効にして、HTTPS ファースト モードをオンにすることもできます。

デベロッパーおよび企業向けの情報

デベロッパーの皆さんは、HTTPS を使い、HTTP でしかアクセスできないコンテンツをホストしないようにすることで、ユーザーに警告が表示されたり、サイトのアップグレードが失敗したりすることを回避できます。お勧めの方法は、完全に HTTPS を採用し、すべての HTTP URL を HTTPS にリダイレクトすることです。サイトに個人情報が含まれていないと考えていても、HTTP を使っていれば、ネットワーク攻撃者によってブラウザに悪意のあるコンテンツが挿入されるリスクが高まります。悪意のあるネットワーク攻撃者は、セキュリティで保護されていないサイトを足がかりとして、ユーザーを攻撃します。ユーザーが安全でないウェブサイトにアクセスすることでもたらされるリスクを軽減するため、その他の方法も模索しています。たとえば、HTTP でアクセスできる Cookie の有効期間の短縮などです。今のうちに HTTPS に切り替えておけば、今後の変更によってユーザーのエクスペリエンスに影響が及ぶことはなくなります。まだ HTTPS に対応できない場合は、サーバーがポート 443 のリクエストにまったく応答しないようにするか、HTTPS から HTTP にリダイレクトすると、確実にサイトにアクセスできるようになります。

企業や教育機関のネットワークに独自のニーズがあることは承知しています。HttpsOnlyModeHttpsUpgradesEnabledHttpAllowlistInsecureContentAllowedForUrls の各ポリシーを使うと、以上の機能を早い段階でオンにしたり、カスタマイズしたり、完全にオフにしたりできます。

継続的な取り組みの一環

Chrome には、デフォルトで安全なウェブを目指して取り組んできた長い歴史があります。そして、私たちはここで立ち止まるわけではありません。ゴールは間近に迫っています。ウェブがデフォルトで HTTPS になるときを心待ちにしています。


Posted by Eiji Kitamura - Developer Relations Team

編集者のメモ: 業界の調査(Chrome などの)と HTTPS の普及を鑑み、Chrome のアドレスバーの鍵アイコンを新しい「調整」アイコンに置き換える予定です。これには、デフォルトで安全な状態であるべきという点を強調する、そしてサイトの設定にアクセスしやすくするという 2 つの狙いがあります。長年にわたるこの取り組みについて、以下をお読みください。

HTTPS でサイトが読み込まれるとブラウザに鍵アイコンが表示されるのは、1990 年代の Netscape の初期バージョンから続いている伝統です。Chrome はこの 10 年間にわたって、HTTPS の採用を増やし、ウェブをデフォルトで安全な場所にするための大規模な取り組みに参加してきました。2013 年時点では、Alexa のトップ 100 万サイトのうち、HTTPS をサポートしていたのはわずか 14% でした。しかし、現在は HTTPS が標準となっており、Windows 版 Chrome で読み込まれているページの 95% 以上が HTTPS を使った安全なチャネルを経由しています。これはエコシステムにとってうれしいニュースであるとともに、ブラウザでセキュリティ保護を知らせる方法を再評価する機会でもあります。中でも特に重要なのが、鍵アイコンです。

鍵アイコンは、ネットワーク接続がブラウザとサイトの間の安全なチャネルであり、サードパーティがネットワーク接続を改ざんしたり盗聴したりできないことを示すためのものです。しかしこれは、HTTPS が一般的ではなかった時代の名残でもあります。もともと HTTPS はかなり珍しいものだったことから、ある時点で Internet Explorer は、接続が HTTPS によって保護されていることを通知するアラートをポップアップ表示するようになりました。これは、ザ・シンプソンズの「万事問題なし」アラームを連想させます。HTTPS が珍しかった時代、鍵アイコンには HTTPS によって追加の保護が提供されていることをアピールするという役割がありました。しかし今は、すでに状況が変わっています。HTTPS は例外ではなく標準となり、Chrome もしかるべく進化してきました。

たとえば、鍵アイコンはウェブサイトの信頼性を表すものではありません。調査の結果、多くのユーザーが鍵アイコンを誤解していることがわかったため、2016 年にこのアイコンのデザインを変更しました。しかし、努力を尽くしたにもかかわらず、2021年の調査では、鍵アイコンの意味を正確に理解していたのは調査対象者の 11% だけでした。この誤解は無害なものではありません。ほぼすべてのフィッシングサイトでは HTTPS を使用しているため、鍵アイコンも表示されています。この誤解は広く浸透しているため、FBI を含む多くの組織が、鍵アイコンはウェブサイトの安全性を示すものではないというガイドを明確に打ち出しています。

調査で Chrome の UI を表示すると、ユーザーは南京錠を見て架空の e コマースサイトの信頼性を評価していました。実験の参加者にサイト コントロールを表示し、この状況で役立つと思われる情報を示すように求めました。これは、そのときのクリック パターンをヒートマップにしてオーバーレイ表示したものです。
現在の鍵アイコンは、Chrome のサイト コントロールの便利な入口になっています。2021 年には、Chrome の鍵アイコンの代わりに、セキュリティを連想させないサイト コントロールの入口を表示する実験についてお知らせしました。HTTP が安全でないことを示す表示は、URL バーに残しました。すると、ユーザーがサイト コントロールを開く回数が増え、大幅に UI を変更したときに起こりがちな戸惑いも見られませんでした。


現在の鍵アイコンからアクセスできるサイト コントロール。

他の団体も含めた調査結果と、HTTPS への移行が普及していることを踏まえて、Chrome の鍵アイコンを調整アイコンのようなものに置き換える予定です。次のような調整アイコンを考えています。
  • 「信頼できる」ことを連想させない
  • クリックできることが明らかである
  • 一般的な設定などのコントロールを連想させる
鍵アイコンを、コントロールや設定を示すときに一般的に使われる調整アイコンのようなものに置き換える予定です。

鍵アイコンをニュートラルなインジケーターに置き換えることで、鍵アイコンがページの信頼性を表す

という誤解を防ぐとともに、Chrome がデフォルトで安全な状態であることをアピールします。また、鍵アイコンをクリックすると重要な情報やコントロールが表示されることを理解していなかったユーザーが多いことも、調査で明らかになりました。この新しいアイコンは、鍵アイコンにつきまとう誤解を防ぎつつ、権限管理やセキュリティの詳細情報に簡単にアクセスできる場所となるはずです。

新しいアイコンは、PC プラットフォーム向けの一般的なデザイン更新の一環として、2023 å¹´ 9 月上旬に公開される Chrome 117 でリリースされる予定です。接続が安全でないことを示す警告は、今後も表示されます。Chrome Canary の chrome://flags#chrome-refresh-2023 で [Chrome Refresh 2023] を有効にすると、新しい調整アイコンが表示されるようになります。ただし、これはまだ進行中や開発中の状態であり、最終版ではないことに注意してください。



同じページ コントロール、新しいアイコン。鍵アイコンは詳細な接続セキュリティ情報の入口として残りますが、トップレベルのアクセス ポイントは新しくなります。


Android の鍵アイコンも、PC 版のさまざまな変更のタイミングに合わせて変更します。iOS の鍵アイコンはタップできないため、完全に削除します。平文 HTTP が安全でないことを示す表示は、すべてのプラットフォームで今後も残ります。

HTTPS が標準になるに伴い、Chrome と幅広いセキュリティ コミュニティの両方では、鍵アイコンを置き換えることが長年の目標でした。年を追って HTTPS の採用が大きく拡大したことで、ようやくこの手順を安全に実施できるようになったことをうれしく思っています。私たちはこれからも、デフォルトで安全なウェブの実現に向けて進んでいきます。


Posted by Eiji Kitamura - Developer Relations Team


TLS の導入方法も変化しています。公開鍵証明書の最長有効期間は 5 年から 2 年になり(CA/Browser Forum)、近いうちに 1 年に短縮される予定です。手動での証明書の登録による問題を減らすため、Internet Engineering Task Force(IETF)は自動で証明書を管理する Automatic Certificate Management Environment(ACME)を標準化しました。ACME を利用すると、相互運用が可能な形で認証局(CA)がパブリック ウェブの TLS 証明書を自動で提供できます。

最近の TLS の変遷をたどる上では、公的に信頼された初めての非営利 CA である Let’s Encrypt の存在に触れないわけにはいきません。その自動化と TLS のデフォルト化に向けた注力は、TLS の大幅な利用拡大の土台となっています。実際、Let’s Encrypt は 10 億個目(!)の証明書を発行したばかりです。Google は Let’s Encrypt を積極的に支援しています。TLS を身近なものにするという Let’s Encrypt の取り組みは、インターネット インフラストラクチャのセキュリティやレジリエンスにとって欠かせないと信じているからです。Let’s Encrypt の健闘を祈ります!

Google ユーザーの証明書ライフサイクル管理を簡単に

以上のことは、セキュリティ コミュニティ全体で成し遂げた大きく重要な一歩です。同時に、この取り組みは、鍵の有効期間を短縮してセキュリティを改善することも意味します。それにより、証明書の更新頻度が上がるだけでなく、ますます多様なインフラストラクチャへのデプロイが求められることになります。ウェブのトラフィックは複数のデータセンターから提供され、多くの場合はプロバイダも異なります。そのため、更新する必要がある証明書を管理したり、新しい証明書を正しくデプロイしたりする作業を手動で行うのは難しくなります。では、どうすればいいのでしょうか。

前述の普及状況を考えれば、私たちやお客様が構築、デプロイするすべてのプロダクトにとって、TLS や Web PKI、証明書ライフサイクル管理が重要であることは明白です。そのため、私たちはプロダクトやサービスにおいてデフォルトで TLS を有効化するという重要な取り組みを拡大しつつ、証明書の更新を自動化して証明書ライフサイクル管理の信頼性を向上させ、グローバルでの拡大を実現し、お客様からの確かな信頼を得られるようにしてきました。私たちの目的はシンプルで、どの Google のサービスを使う場合でもすぐに TLS を利用できるようにすることです。

その目的の実現に向けて、内部専用の ACME サービスである Google Trust Services を使い、Google のサービスを対象に TLS 証明書の自動管理を実現しました。これは、Google のプロダクトやサービスだけでなく、Alphabet や Google Cloud のお客様のためにも使われています。その結果、お客様の証明書が自動的に更新されるようになり、ユーザーは証明書の有効期限切れなどについて心配する必要はなくなりました。この実装のポイントを紹介します。

  • Blogger ブログ、Google サイト、Google マイビジネス サイトは、すべてのカスタム ドメインがデフォルトで HTTPS 化されています。
  • Google Cloud ユーザーは、自分のドメインで Managed TLS を利用できます。そのため、以下のようになります。
    • Firebase、Cloud Run、AppEngine で開発しているデベロッパーは、何もしなくてもアプリケーションで HTTPS を利用できます。
    • Google Kubernetes Engine に、または Google Cloud Load Balancing(GCLB)の背後にアプリケーションをデプロイする場合は、お客様が Google が管理する証明書を使うことを選択すると、自動的に証明書管理が行われます。これには、それぞれのプロダクトで簡単かつ確実に TLS を利用できるようになるという効果もあります。
Google のサービスにとって、パフォーマンス、拡張性、信頼性は必須要件です。私たちは、プロダクトやサービスでこれらの基準を満たせるように、公的に信頼された CA である Google Trust Services を設立しました。同時に、私たちはユーザーの選択を重視します。そのため、Google Trust Services を簡単に使えるようにしつつも、Google のプロダクトやサービス全体で Let’s Encrypt も使えるようにしています。これは、プリファレンスを指定する CAA レコードを作成することで、簡単に選択できます。

すぐに使える TLS はすべての人に恩恵をもたらしますが、パワーユーザーには特別なニーズもあることも承知しています。そこで、Google Cloud Load Balancing では、TLS ターミネーション関係のポリシーを制御できる高度な機能を提供しています。

さらに、Certificate Transparency の作業では、他の組織とも連携し、WebPKI エコシステムで自分のドメインやそれに似たドメインに対して発行された証明書をモニタリングすることで、お客様が簡単に自身やユーザーのブランドを保護できるようにしています。この事前対策により、問題が起こる前に悪用を防止できます。たとえば、Facebook は Certificate Transparency ログを使用して、Facebook のサービスになりすまそうとした多くのフィッシング サイトを特定しました。

私たちは、皆さんにとってセキュリティ、プライバシー、信頼性がどれほど重要なものであるかを承知しており、皆さんがさまざまなプロダクトに安心して TLS を導入するために必要なツールを提供する作業を進めています。今後も、インターネットを安全な場所にするための取り組みを協力して進めてゆきたいと思います。


Reviewed by Eiji Kitamura - Developer Relations Team