Firefoxを開発するMozillaは、Firefoxにおいてこれから開発されるWeb関連の新機能はすべて安全なコンテキスト(Secure Context)のみを対象にすると、Mozilla Security Blogの1月15日付の記事「Secure Contexts Everywhere」で明らかにしました。
安全なコンテキストとは、W3Cのドキュメント「Secure Contexts」で厳密に定義されています。日本語での説明はMDNの「Secure Contexts」で読むことができ、次のように説明されています。
(HTTPS / TLS を介して) コンテンツが安全に配信され、安全ではないコンテキストとの通信の可能性が限られているという合理的な確信がある Window、または Worker のこと
細かいことを抜きにして大雑把に説明すれば、安全なコンテキストとはHTTPSで配信されているWebページのこと、と言えます。
そしてFirefoxにおけるWeb関連の新機能は、安全なコンテキストのみに対応するというのです。先のブログから引用します。
Effective immediately, all new features that are web-exposed are to be restricted to secure contexts. Web-exposed means that the feature is observable from a web page or server, whether through JavaScript, CSS, HTTP, media formats, etc.
いまこの瞬間から、Webに関する(Web-exposed)すべての新機能は、安全なコンテキストのみに制限される。Webに関するすべての機能とは、WebページやWebサーバで見られるJavScriptやCSSやHTTPやメディアフォーマットなどだ。
新機能の対象になるのはCSSプロパティのような細かいものからWebVRのような大きなものまで含まれるとのこと。
A feature can be anything from an extension of an existing IDL-defined object, a new CSS property, a new HTTP response header, to bigger features such as WebVR. In contrast, a new CSS color keyword would likely not be restricted to secure contexts.
対象となる機能は、既存のIDLで定義されたオブジェクトの拡張、新しいCSSプロパティ、新しいHTTPレスポンスヘッダといったところから、WebVRのような大きなものまで何でもだ。とはいえ、新しいCSSのカラーキーワードといったものは安全なコンテキストのみの制限には含まれない。
また、既存のFirefoxの機能であっても安全でないコンテキスト、要するにHTTP対応を削除する可能性があることも、次のように示唆しています。
Features that have already shipped in insecure contexts, but are deemed more problematic than others from a security, privacy, or UX perspective, will be considered on a case-by-case basis. Making those features available exclusively to secure contexts should follow theguidelines for removing features as appropriate.
すでにFirefoxに搭載された安全でないコンテキストに対応した機能であっても、セキュリティ、プライバシー、またはUXの観点から他のものよりも問題が多いと思われるものについては、ケースバイケースで検討していく。
Googleが開発するChromeでは、HTTPSを使わずHTTPで配信されているWebサイトには警告が表示されるようになっています。また、W3Cの仕様策定においてもService Workerなど重要な機能においてはHTTPSのみの対応になるなど、Web全体でHTTPSへの移行が推奨されています。
Mozillaによる今回の発表は、そうした方向性をより先取りしたものといえます。
Webサイトやアプリケーション開発者にとって、今後はFirefoxの新機能を用いたテストを行う場合にはテスト環境をすべてHTTPS対応にする必要がある点には注意が必要でしょう。
クラウド
AWS /Azure /Google Cloud
クラウドネイティブ /サーバレス
クラウドのシェア /クラウドの障害
プログラミング言語
JavaScript /Java /.NET
WebAssembly /Web標準
開発ツール /テスト・品質

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
(詳しいプロフィール)
Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで :Feed