ChromeでHTTPS接続がデフォルトになるかも、HSTSはもう不要?

[レベル: 上級]

Google Chrome が HTTPS をデフォルトのプロトコルとしてウェブページに接続するようになるかもしれません。

現在は HTTP がデフォルト プロトコル

https または http のプロトコルを付けずに URL をオムニボックス(Chrome の URL バー)に打ち込んでアクセスした場合、現在は http:// を自動的に付加してそのページに Chrome はアクセスします。

たとえば、[example.com] とだけ入力してアクセスすると [http://example.com/] の URL に置き換えて Chrome はリクエストを送信します。

もしサイトが HTTPS 対応していてかつリダイレクト設定していれば [https://example.com/] にリダイレクトされて、再度接続し直します(※HSTS を設定していない場合、詳しくは後述)。

この状況では、リダイレクトという無駄な処理が発生するし、何よりも http での初回接続はセキュリティおよびプライバシーが保護されていません。
HTTPS 対応している価値を損なってしまっています。

今後のバージョンの Chrome は HTTPS 接続がデフォルトになるかも

今後リリースされるバージョンの Chrome では、プロトコルを指定せずにアクセスした場合には https での接続がデフォルトになるかもしれません。

新しい機能が試験的に提供されました。
[Omnibox – Use HTTPS as the default protocol for navigations] という機能です。
Canary で利用できます(Canary 90 で確認)。

Omnibox - Use HTTPS as the default protocol for navigations

有効にすると HTTPS 接続がデフォルトになります。
現在とは異なり、プロトコルを指定しなかったときには https:// を付加してアクセスします。

アクセスしたページがもし https で接続できなかったときは、一定時間待機した後に http に切り替えてアクセスし直します。

HTTPS の普及率は確実に 100% に近づいています。
Google の透明性レポートによれば、ほぼすべてのプラットフォームで Chrome がアクセスするページの 9 割以上が HTTPS 接続です。

HTTPS 暗号化(Chrome プラットフォーム別)

HTTP が少数派になっている現状では HTTPS 接続をデフォルトにするのは理にかなっています。

HSTS 設定していなくても

HSTS (HTTP Strict Transport Security) を構成しておけば必ず https で接続します(2 回目以降のアクセスから。プリロード HSTS にすれば初回から https 接続)。

ですが、Chrome の標準機能として HTTPS 接続がデフォルトになれば、ブラウザレベルで HSTS を実現しているようなものです。
実験機能ではなく正式機能として実装されることを期待しましょう。

もっとも、HSTS が不要とまで言うつもりはありません。
すべてのブラウザで HTTPS がデフォルトにならない限りは HSTS を設定しておくことを強く推奨します。

Header set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"