什么是浏览器指纹?它是如何泄露我们的隐私?

标签: 浏览器相关 指纹 浏览器 用户 隐私 | 发表时间:2014-01-24 13:59 | 作者:iefans
出处:http://www.iefans.net

之前跟大家分享了 防范浏览器泄露上网隐私的基本技巧,对于“隐私要求不高并且技术水平也不高”的同学,看完这篇文章基本上够了。下面继续谈谈浏览器方面的问题, 面向的是那些“对隐私要求较高,同时也具有一定折腾能力”的同学。今天这篇文章将详解浏览器的“指纹”是如何暴露你的隐私,顺便分享一些防范技巧。

什么是“指纹”?

说到“指纹”可能大家都知道是手指头的纹理,而且每个人的指纹都是唯一的。

如果你时常接触信息安全领域的一些资料,也会听到“指纹”这个形象的说法(比如:操作系统指纹、网络协议栈指纹、等等)。IT 领域提到的“指纹”一词,其原理跟“刑侦”是类似的——“当你需要研究某个对象的类型/类别,但这个对象你又无法直接接触到。这时候你可以利用若干技术来获取该对象的某些特征,然后根据这些特征来猜测/判断该对象的类型/类别。”

什么是“指纹”的“信息量”?

在 IT 领域有各种各样的特征可以用来充当“指纹”。这时候就需要判断,用哪个特征做指纹,效果更好。为了讨论这个问题,就得扫盲一下“指纹的信息量”。

为了帮助大伙儿理解,先举一个例子:

假设你要在学校中定位某个人,如果你光知道此人的性别,你是比较难定位的(只能排除 1/2 的人);反之如果你不知道性别,但是知道此人的生日,就比较容易定位(可以排除掉大约 364/365 的人,只剩大约 1/365 的人)。为什么?因为“生日”比“性别”更加独特,所以“生日”比“性别”能够提供更多的信息量。

从这个例子可以看出:某个特征越独特,则该特征的信息量越大;反之亦然。信息量越大的特征,就可以把对象定位到越小的范围。

“指纹”的“信息量”如何度量——关于指纹的比特数?

(本节涉及到中学数学,数学很差的或者对数学有恐惧感的读者,请直接无视)

在 IT 领域中,可以用【比特数】来衡量某个指纹所包含的信息量。为了通俗起见,先以前面提到的“性别”来说事儿。性别只有两种可能性——“男”或者“女”,并且男女的比例是大致平均的。所以,当你知道了某人的性别,就可以把范围缩小到原先的 1/2。用 IT 的术语来讲,就是:“性别”这个特征只包含一个比特的信息量。以此类推:

  • 当我们说:“某特征包含3比特信息量”,意思就是:该特征会有8种大致平均的可能性(8等于2的3次方)。一旦知道该特征,可以把目标定位到八分之一。
  • 当我们说:“某特征包含7比特信息量”,意思就是:该特征会有128种大致平均的可能性(128=2^7)。一旦知道该特征,可以定位到 1/128。

再来说“生日”。(不考虑闰年的情况下)生日有365种可能性(并且也是平均分布的),所以生日包含的比特数大约是 8.51。为什么是 8.51 捏,因为 2 的 8.51 次方 约等于 365。因此,知道了某人的生日就可以把范围缩小到 1/365

通过上述举例,大伙儿对于指纹的信息量,应该有一些粗浅的认识了吧?

多个指纹的综合定位

如果能同时获取【互不相关】的若干个指纹,就可以大大增加定位的精确性。

比如要在某个公司里面定位某人,如果你知道此人的“生日”和“生肖”,那么就可以达到 1/4380(1/4380 = 1/12 * 1/365) 的定位精度。因为综合定位之后,比例之间是【乘法】的关系,所以范围就被急剧缩小了。

为什么要特别强调“互不相关”呢?假如你同时知道的信息是“生日”和“星座”,那么定位的精度依然是 1/365——因为生日的信息已经包含了星座的信息。所以,只有那些相互独立的特征(所谓的相互独立,数学称为“正交”),在综合定位的时候才可以用【乘法】。

什么是“浏览器的指纹”?

当你使用浏览器访问某个网站的时候,浏览器【 必定会暴露】某些信息给这个网站。为什么强调“ 必定”呢?因为这些信息中,有些是跟 HTTP 协议相关的(本章节说的 HTTP 协议是广义的,也包括 HTTPS)。只要你基于 HTTP 协议访问网站,浏览器就【必定】会传输这些信息给网站的服务器。

再罗嗦一下:HTTP 协议是 Web 的基石。只要你通过浏览器访问 Web,必定是基于 HTTP 协议的。因此,Web 网站的服务器必定可以获取到跟你的浏览器相关的某些信息(具体是哪些信息,下面会说到)。

“浏览器指纹”如何暴露隐私?

“浏览器指纹”的机制跟 cookie 有点相似。关于 cookie 的作用,建议那些健忘的同学先去“ 前面的博文”复习一下。

对于“浏览器指纹”导致的隐私问题,这里举2个例子来说明其危害。

对于无需登录的网站

如果你的浏览器允许记录 cookie,当你第一次访问某网站的时候,网站会在你的浏览器端记录一个 cookie,cookie 中包含某个“唯一性的标识信息”。下次你再去访问该网站,网站服务器先从你的浏览器中读取 cookie 信息,然后就可以根据 cookie 中的“唯一标识”判断出,你之前曾经访问过该网站,并且知道你上次访问该网站时,干了些什么。对付这种 cookie 很简单,你只需要在前后两次访问之间,清空浏览器的 cookie,网站就没法用 cookie 的招数来判断你的身份。

但是“清空 cookie”这招对“浏览器指纹”是无效滴。比如说你的浏览器具有非常独特的指纹,那么当你第一次访问某网站的时候,网站会在服务器端记录下你的浏览器指纹,并且会记录你在该网站的行为;下次你再去访问的时候,网站服务器再次读取浏览器指纹,然后跟之前存储的指纹进行比对,就知道你是否曾经来过,并且知道你上次访问期间干了些什么。

对于需要登录的网站

假如网站没有采用“指纹追踪”的技术,那么你可以在该网站上注册若干个帐号(马甲)。当你需要切换身份的时候,只需要先注销用户,清空浏览器的 cookie,然后用另一个帐号登录。网站是看不出来的。

一旦网站采用“指纹追踪”的技术,即使你用上述方式伪造马甲,但因为你用的是同一个浏览器,浏览器指纹相同。网站的服务器软件可以猜测出,这两个帐号其实是同一个网民注册的。

“浏览器指纹”比“cookie”更隐蔽,更危险

刚才对比了“浏览器指纹”和“cookie”两种身份追踪技术。两者的原理类似——都是利用某些特殊的信息来定位你的身份。两者的本质差异在于:

  1. cookie 需要把信息保存在浏览器端,所以会被用户发现,也会被用户清除。
  2. 而“浏览器指纹”无需在客户端保存任何信息,不会被用户发觉,用户也无法清除(换句话说:你甚至无法判断你访问的网站到底有没有收集浏览器指纹)。

“浏览器指纹”包含哪些信息?

浏览器暴露给网站的信息有很多种,常见的有如下几种:

User Agent

关于 User Agent 是什么,已经在本系列前面的 博文中有简单的说明,已了解的同学可以继续往下看。

屏幕分辨率

这个比较通俗易懂。稍微补充一下:这一项不仅包括屏幕的尺寸,还包括颜色深度(比如你的屏幕是16位色、24位色、还是32位色)。

时区

这个也比较通俗。我们应该都是“东8区”。

浏览器的插件信息

也就是你的浏览器装了哪些插件。

再罗嗦一次:浏览器的“插件”和“扩展”是两码事儿,别搞混了。本系列前面的博文扫盲了两者的差异,链接在“ 这里”。

浏览器的字体信息

和浏览器相关的一些字体信息。

如果你的浏览器安装了 Flash 或 Java 插件,有可能会暴露某些字体信息。所以在“ 如何防范浏览器泄露上网隐私”一文中就警告了浏览器插件的风险。

HTTP ACCEPT

这是 HTTP 协议头中的一个字段。考虑到列位看官大都不是搞 IT 技术的,这里就不深入解释这项。

其它

以上就是常见的浏览器指纹。当然啦,还有其它一些信息也可以成为“浏览器指纹”,考虑到篇幅就不一一列举并解释了。有兴趣的同学,请自行阅读 Mozilla 官网的 文档

如何看自己浏览器的指纹?

关于浏览器指纹导致的隐私问题,可能是由“ 电子前哨基金会”(简称 EFF)率先在2010年曝光的。后来 EFF 提供了一个页面,帮助网友看自己浏览器的指纹(请点击“ 这个链接”)。

打开此页面之后,当中有一个大大的,红色的“TEST ME”按钮。点一下此按钮,稍等几秒钟,会显示出一个表格,里面包含你当前的浏览器的指纹信息。

在这个表格中会列出每一项指纹的“信息量”以及该指纹的“占比”。关于“信息量”的含义,本文前面已经扫盲过,此处不再说明。你只需记住,某项的信息量越大,就说明该项越独特。而越独特的指纹,对隐私的威胁也就越大。

考虑到篇幅有点长,今天先聊到这里。下次跟大家分享如何防范“浏览器指纹”导致的隐私风险。

via: 编程随想的博客

This article addresses: http://www.iefans.net/liulanqi-zhiwen-ruhe-xielou-yinsi/

Here is no comments yet by the time your rss reader get this, Do you want to be the first commentor? Hurry up

相关 [浏览器 指纹 隐私] 推荐:

什么是浏览器指纹?它是如何泄露我们的隐私?

- - IE浏览器中文网站
之前跟大家分享了 防范浏览器泄露上网隐私的基本技巧,对于“隐私要求不高并且技术水平也不高”的同学,看完这篇文章基本上够了. 下面继续谈谈浏览器方面的问题, 面向的是那些“对隐私要求较高,同时也具有一定折腾能力”的同学. 今天这篇文章将详解浏览器的“指纹”是如何暴露你的隐私,顺便分享一些防范技巧. 说到“指纹”可能大家都知道是手指头的纹理,而且每个人的指纹都是唯一的.

谷歌到底怎么绕过浏览器的隐私设定

- - 月光博客
  剧情回顾:最近几篇新闻都在讲述Google,Apple,Microsoft的神仙战争. 为什么叫神仙战争,因为你根本看不懂这五篇报道.   1,《 谷歌被曝绕过Safari隐私设定追踪用户浏览记录》.   2,《 谷歌因Safari隐私问题遭用户起诉侵权》.   3,《 微软打击Google和苹果称IE9是“不被第三方浏览的浏览器”》.

如何防范浏览器泄露上网隐私

- - IE浏览器中文网站
随着竞争的日益加剧,各大浏览器都拥有了自己独特的隐私策略与安全机制,不论是火狐、谷歌、IE、SAFARI还是其它的浏览器,都不断的提升着自己的安全标准与隐私策略来服务于用户. 即便如此,但是隐私被泄露的风险还是存在,作为用户我们也有必要了解一下关心浏览器与隐私方面的知识,以便更好的保护您自己的上网隐私.

详解浏览器cookie和浏览隐私之间的关系

- - IE浏览器中文网站
本文所说的"cookie",指的是浏览器相关的 cookie(也叫"HTTP cookie"). 浏览器 cookie 的主要功能是:帮助网站保存一些小片段的信息. 比如,你曾经在自己的浏览器上登录过某个论坛,下次你再打开论坛的登录页面,你会发现用户名已经帮你填好 了,你只需要输入口令即可. 那么,这个登录页面是如何知道你上次登录用的账户名捏.

亚马逊Kindle Fire的Silk浏览器存在暴露隐私风险

- Bourne - 36氪
亚马逊昨天宣布了最新的Kindle产品Fire,一款基于Android操作系统的平板电脑,并且亚马逊对其界面进行了定制. 人们的焦点似乎放在了丰富的媒体消费体验上. 但真正的新闻在于另一部Android平板电脑,而是上面的浏览器Silk. 亚马逊的Silk浏览器在上网速度和电池待机时间方面进行了提升.

互联网时代如何保护隐私(浏览器扩展篇)

- - 望月的博客
Google在3月1日起就要开始 实行新的隐私政策了,而之前众多的知名网站用户密码泄露问题也让我们心惊胆战, 那么,在隐私政策越来越倾向于广告商,个人资料越来越可能被泄露被出卖的时候,我们能怎么做呢. 一些优秀的工具、插件和扩展以及良好的使用习惯能有效的减少隐私被泄露的机会,本文将介绍几个保护互联网隐私的浏览器扩展,没有特殊说明的情况下,都是使用于Firefox、Chrome、Opera等浏览器的.

中科院报告称360浏览器Gmail等存泄露隐私风险

- - TechWeb 今日焦点 RSS阅读
  昨日,南都记者独家获悉,中国科学院信息工程研究所主办了一场主题为“隐私保护”的闭门学术研讨会,同时发布了一份由中科院保密技术攻防重点实验室研究撰写的《个人隐私泄露风险的技术研究报告》(下称报告). 内容显示,目前网民日常使用的许多网络服务都存在泄露隐私的风险;国内外许多知名互联网公司榜上有名,包括360浏览器、微软的Hotmail、谷歌的Gmail等.

浏览器设置阻止第三方Cookie保护自己隐私

- - 月光博客
  当我们在某些大型网站上搜索一些东西时,在另外的一些网站出现了你搜索的东西的相关广告,这种现象的出现说明我们的隐私已经被跟踪. 这种侵犯我们用户隐私现象的出现,要归功于第三方cookie所带来的副作用(隐私泄露风险).   为了防止用户隐私被跟踪,保护用户网络隐私,一些主流浏览器版本都已经设置了Do not Track不要跟踪这一选项.

UC浏览器中文版被发现会收集发送用户隐私数据

- - Solidot
加拿大多伦多大学公民实验室调查和比较了中文版UC浏览器和英文版UC浏览器,其中中文版被发现会收集和发送用户的隐私数据,但英文版却没有这么多隐私问题,明显内外有别. UC浏览器号称有5亿注册用户,是全球第四大移动浏览器,仅次于 Chrome、Android浏览器和Safari,每天有1亿活跃用户,它已被阿里巴巴收购.

Silk 浏览器:Google? No!

- 橙子 - 爱范儿 · Beats of Bits
前苹果员工, Blogger Chris Espinosa 指出, Amazon 的 Silk 浏览器技术,让 Amazon 不能把自己置于 Google 的控制之下. Silk 在云端为用户组织和优化网页,之后再下载到本地. 这样做的结果是, Amazon 能掌握用户在网络上的一举一动. 不仅仅包括在 Amazon.com 下的订单.