Image by 飴村@pixiv

Firefox阻止访问HTML5 canvas元素

Firefox Block Attempts to Fingerprint Users Using the HTML5 canvas Element

  linkthis    2018-01-27    1251 words

此功能为默认启用功能,无需用户进行任何设置。

从Firefox 58开始,Mozila工程师们将从Tor浏览器当中引入又一项功能:阻止使用HTML5 canvas指纹元素来区分用户。
Canvas屏蔽是Firefox用户隐私保护措施的一个重要补充,因为广告业已长期使用canvas指纹来追踪用户。

Canvas指纹识别近年来已经普及

在欧盟强制要求网站显示cookie弹出窗口之后,这种方法在近年来变得很普遍。因为canvas指纹不需要在用户浏览器当中储存任何内容,所以很少遭遇法律上的难题。这种用户追踪/识别方案已经成为所有网络广告的最爱。
通过在一个隐藏的iframe当中加载canvas HTML标签,使用户的浏览器绘制一系列的元素和文本。生成的图片将被转换为与之对应的文件hash值。
由于所有计算机和浏览器都以不同的方式绘制这些元素,当用户的浏览器访问互联网上的各种网站时网络广告就能进行可靠的追踪。2012年的研究论文更详细的描述了canvas指纹识别。

从Tor浏览器引入的特性

Tor浏览器通过默认阻止任何网站访问canvas数据解决了这个问题。 每当一个站点想要访问canvas元素时,Tor浏览器都会显示一个弹出窗口。
根据Mozilla错误跟踪器中的记录,工程师计划在网站想要从<canvas>HTML元素读取数据时,弹出窗口提示用户网站将要索取的权限。这与网站希望访问用户的网络摄像头或麦克风时显示的许可类似。
Firefox 58计划于2018年1月16日发布。

Firefox从Tor浏览器中引入的第二个功能

屏蔽canvas指纹是Mozilla工程师从Tor项目中引入的第二个功能。早些时候,Mozilla已经向Firefox 52添加了一个机制,阻止网站通过系统字体识别用户。
Mozilla增强Firefox的努力是Tor Uplift project的一部分,该项目旨在将更多以隐私为目标的功能从Tor浏览器引入Firefox。Tor浏览器基于Firefox ESR,并且通常由Firefox向Tor引入功能,而不是反过来。
在2016年8月,Mozilla还阻止了一系列已知的可用于用户识别的脚本的URL。Firefox更早之前对于用户隐私提升的努力还包括移除电池状态API

写在最后

此功能在Firefox59当中得到完善,不过仍需要手动开启。privacy.resistFingerprinting选项应该修改为true。开启效果可以通过此页面检查。需要注意的是,在开启此选项后,可能导致部分Canvas APIs出错。

由于本人过于咸鱼,不免出现错翻的情况,附上原文链接Firefox Implements Another Privacy-Preserving Feature Taken From the Tor Browser,同时没有添加原文Tor浏览器弹窗示意图。
本文采用CC BY-NC-ND 4.0许可协议进行许可,转载请注明出处。

本文最后更新时间为:2019-05-19-Sunday-09:47:19 PM




Image of Wechat