あまり知られていないかもしれませんが、ある種のブラウザの機能は、HTTPS を必要とします。ユーザーの位置情報の取得、マイクへのアクセス、デバイスへローカルにデータを保存するなどの機能は、すべてウェブサイトがHTTPSに対応している必要があります。
HTTPS に対応することで、ユーザーの体験やウェブサイトの評価が向上することはよく知られていますが、最新の機能を備えたウェブサイトを開発できることは、それ以上に説得力のある理由となるでしょう。
2018年現在、HTTP/2 や Brotli 圧縮(いずれもウェブ技術における画期的な改善)など、少なくとも 1 つの主要ブラウザで HTTPS を必要とする 10 の機能があり、将来的には既存の 3 つの機能を HTTPS に制限する予定です。
今回は、HTTPSでのみ利用できる機能の背景を簡単に説明した後、安全な接続を必要とする現在および将来の機能の一覧を紹介します。
2014年、Googleは、特定の機能をHTTPSに制限することを提案しました。彼らは、ウェブカメラのサポートやローカルデータの保存といったブラウザの機能を使ったネイティブアプリと同等の体験を、ウェブサイトが提供し始めていることに気づいていました。これは、リッチなウェブアプリケーションにとっては朗報でしたが、中間者攻撃やその他のネットワークの干渉、なりすましなどによってそれらの機能が改ざんされる可能性があり、セキュリティ上のリスクが生じます。
あるユーザーがあなたのサイトに接続し、ネットワーク上の他の誰かがあなたのウェブカメラやマイクへのアクセスに便乗して盗聴できることを想像してみてください。さらに悪いことに、そのネットワーク攻撃者は、HTTPインジェクションによってウェブカメラにアクセスするリクエストを完全に捏造できてしまいます。
Googleの最初のコンセプト以来、彼らの提案は「Secure Contexts」へと発展しました。この提案は、これらの高度なブラウザ機能への安全なアクセスを定義するインターネット標準となることを目指したW3Cのドラフト(草案)です。
Secure Contexts がドラフトされているにもかかわらず、新しい機能や規格は、その当初から HTTPS を必要とするように設計されていました。最大のものはHTTP/2です。すべての主要ブラウザは、ウェブサイトがHTTP/2で、HTTPSを使用することを要求しています。つまり、暗号化されていないHTTPを提供している場合は、インターネットのコアプロトコルの最新バージョンには、まったくアクセスできません。
gzipよりも優れたパフォーマンスを発揮する圧縮アルゴリズムであるBrotliや、GoogleのAMPなど、他の主要な規格もHTTPS対応を中心に設計されています。
最近、HTTPS に関するウェブブラウザの取り組みについて、いくつかのニュースをお聞きになったことがあるでしょう。HTTPSを必要とする機能、標準、および APIの数が増加していることは、その採用を促進し将来のインターネットをHTTPSのみにするという、ブラウザ側の強い関心を示す、もう 1 つの指標です。
どの機能が HTTPS を必要とし、それが特定のブラウザにどのような影響を与えるかを把握するのは困難です。この一覧表では、HTTPSのみでのサポートになることが予定されている既存の機能を含め、すべての情報をまとめています。これらの機能を自分のウェブサイトで使用していない場合でも、Chrome や Firefox などの主要ブラウザが HTTPS に対してどれほど真剣に取り組んでいるかを知る上での参考になるはずです。
ある機能がブラウザでHTTPSのみになっている場合は、バージョン番号と変更のドキュメントへのリンクを記載しています。ある機能が全くサポートされていない場合や、HTTPで許可されていない場合は、その旨と、将来的にその機能を制限する可能性があることを明記しています。この一覧表は、ブラウザによって新しい発表がなされるたびに更新されます。
これらの機能と規格は、今のところHTTP経由で引き続き利用できます。ブラウザまたは標準化団体(W3CやIETFなど)は、将来これらにHTTPSを要求することに関心を示しています。