浏览器指纹是什么?
浏览器指纹是一项识别用户浏览器的新技术,可以通过用户使用浏览器的各种唯一特征来区别不同用户。
网站通过收集大量的数字指纹信息,然后对所有的特征标识进行并集匹配,可以十分精确的对您进行标记。
Hubstudio指纹浏览器广泛用于海外社交媒体账号安全管理,可以设置数字指纹信息,达到多账号防关联的效果。
Hubstudio指纹浏览器具体可以设置哪些指纹以及作用是什么呢?
语言,时区,地理位置,分辨率,字体指纹,这几个是用户根据IP和电脑的使用场景进行设置,来模仿真实环境。
User-Agent:浏览器和操作系统的信息。
Cookie:主要是用于方便快速登录一些网站,主要承载登录信息和网站相关信息的文档。
WebRTC指纹:是可以让浏览器有音视频实时通信的能力,它提供了三个主要的API来让JS可以实时获取和交换音视频数据,MediaStream、RTCPeerConnection和RTCDataChannel。当然如果要使用WebRTC获得通信能力,用户的真实ip就得暴露出来(NAT穿透),所以RTCPeerConnection就提供了这样的API,直接使用JS就可以拿到用户的IP地址。
Hubstudio指纹浏览器新建环境时WebRTC数据自动处理,还能通过修改一些具有特异性的数据,自动生成一个全新的浏览器指纹。这样即使WebRTC将我们的一部分信息泄露出去,这些被泄露的信息也是由Hubstudio虚拟出来的。
Canvas指纹:是HTML5中的动态绘图标签,也可以用它生成图片或者处理图片。即便使用Canvas绘制相同的元素,但是由于系统的差别,字体渲染引擎不同,对抗锯齿、次像素渲染等算法也不同,canvas将同样的文字转成图片,得到的结果也是不同的。
WebGL指纹:是一种JavaScript浏览器API,用于在网页上呈现3D图像。网站可利用WebGL来识别您的设备指纹。通常网站可以用两种方法做到这一点:
1、WebGL报告:完整的WebGL浏览器报告表是可获取、可被检测的。在一些情况下,它会被转换成为哈希值以便更快地进行分析。
2、WebGL图像:渲染和转换为哈希值的隐藏3D图像。由于最终结果取决于进行计算的硬件设备,因此此方法会为设备及其驱动程序的不同组合生成唯一值。这种方式为不同的设备组合和驱动程序生成了唯一值。
AudioContex指纹:和Canvas类似也是基于硬件设备或者软件的差别,来产生不同的音频输出,然后计算得到不同的hash来作为标志,当然这里的音频并没有直接在浏览器中播放出来,只需要拿到播放前的处理数据就行,音频指纹测试地址。
Do Not Track:在http头部可以声明这样一个标志“DNT”意味“Do Not Track”,如果值为1表示为不要追踪我的网页行为,0则为可以追踪。即便没有cookie也可以通过这个标志符告诉服务器我不想被追踪到,不要记录我的行为。
CPU内核数量:这个在之前的设备指纹方案中都是没有使用到的,现代浏览器可以用 navigator .hardware Concurrency 来获取。如果不支持这个方法,则可以利用另一种方式获取,具体来说是,当增加 Web Worker 的数量时,可以监视 payload 的完成时间。当计算量达到一定的程度,Web Woker 完成 payload 的时间显著增加,达到硬件并发的限制,从而判断核心的数量。一些浏览器(如Safari)会将 Web Workers 的可用内核数量减少一半,所以在获取跨浏览器指纹时,我们需要将获取到的核心数量加倍。
媒体设备,内存参数这些参数是电脑和浏览器相关指纹。