Firefox web browser - Faster, more secure & customizable

Firefoxの開発ブランチにCSS履歴に関するプライバシー対策機能のマージが予定されているという。どういった問題があり、どのような対処が予定されているのかが次の記事にまとまっている。

一度訪問したリンクは青色から紫色へ色が変わる。これはユーザが一度訪れたURLをわかりやすくするためのもので、Webページでは一般的に採用されている方法。しかしJavaScriptを利用するとどのリンクがすでに訪問したことがあるかを推測することができ、ユーザがどういったサイトを訪れたのかを判定できるようになる。これはプライバシに関する問題としてこれまでもしばしば議論の対象となってきた。

処理が高速であるため、数十万リンクといった対象を1分程度で判断できるという現実もある。この仕組みを利用されると、特定のサイトに訪れるだけでユーザがどういったページにアクセスしているのかを判定されることになる。こうしたプライバシー問題に対し、Firefoxでは次の方法で対処を実施するという。

Firefoxに取り込みが予定されている対策方法
訪問済みリンクを表現するスタイルの指定を色の変更のみに限定する。背景画像の変更などそれ以外のスタイル指定を無効にする。色のみ(フォント前景色、背景色、アウトライン、ボーダ、フィル、ストロークなど)に限定することで、スタイル変更からの訪問判断を困難にする。
Geckoレンダリングエンジンの実装を変更し、訪問済みリンクと未訪問リンクが同じ処理プロセスで同じ時間で処理されるようにする。こうすることでタイミングを利用してリンクが訪問済みかそうでないかを推測する方法を困難にする。
JavaScriptのgetComputedStyle()でリンクのスタイルを取得した場合に、未訪問のスタイルを返すようにする。こうすることでリンクが訪問済みかどうかの判断を困難にする。

訪問済みリンクに指定できるスタイルが制限されることから、たとえば訪問済みリンクの背景画像を変更するといった指定を実施している場合には、CSS履歴のプライバシー問題に対処したFirefoxで閲覧するとデザインが変更され、場合によってはデザインが崩れる可能性もある。こうした問題はプライバシーとのトレードオフの関係にある。

対策が施されたバージョンの登場が待てない場合、Plugging the CSS History Leak at Mozilla Security Blogの説明によればFirefox 3.5およびそれ以降のバージョンであればabout:configからlayout.css.visited_links_enabledを選択してfalseに設定を変更すればいいと説明がある。ただしこの方法では、訪問済みリンクそのものが利用されなくなるため、訪問したリンクの色が変わらなくなることに注意が必要。

MozillaではCSS履歴のプライバシー問題に関してはこの対処方法が優れたものであると考えており、ほかのブラウザも同様の対処を実施することを望んでいるという。