媒体设备指纹
媒体设备指纹是指通过检测和分析用户设备上的媒体设备的属性来创建的一种唯一标识。这些媒体设备包括摄像头、麦克风等。媒体设备指纹技术利用了设备之间的微小差异,以便识别和跟踪用户,进而用于用户识别、广告定向等目的。
以下是网站获取用户音频、视频设备信息,然后再将其生成浏览器指纹的步骤:
步骤1:请求用户授权
在使用音频、视频设备之前,网站需要向用户请求授权。这通常是通过调用浏览器的JavaScript API 完成的。
在BrowserScan的”硬件“区域,您可以检测媒体设备指纹
步骤2:获取媒体设备信息
用户授权后,网站通过WebRTC API可以获取设备信息。需要注意的是,出于隐私考虑,媒体设备的信息只有在用户给予网页访问设备的权限后才能访问,如果没有权限,设备的信息将返回空字符串。
设备信息包括:
- 设备的类型:如audioinput(音频输入设备,如麦克风)、audiooutput(音频输出设备,如扬声器或耳机)、videoinput(视频输入设备,如摄像头)
- 设备的标签:即label,指设备的人类可读的名称。例如,对于一个摄像头,label 可能是 "Logitech HD Webcam C270";对于一个麦克风,label 可能是 "Built-in Microphone"。
- 设备的ID:设备的唯一标识符。它是一个字符串,用于唯一标识一个设备。
步骤3:生成浏览器指纹
浏览器指纹是通过对收集到的设备信息进行处理生成的。处理方式有很多种,比如直接将设备信息字符串进行哈希处理,换算成一串哈希值。
需要注意的是,媒体设备指纹可能会因为用户更换设备、更新设备驱动或者修改系统设置等行为而改变,因此并不能保证永远不变。
音频指纹(Audio指纹)
音频指纹是一种相对新的指纹跟踪技术。其基本原理是,由于硬件和软件配置的微小差异,不同的设备播放同一段音频时会产生微小的差异。这些差异可以被捕捉并用于生成设备的唯一标识符,即“音频指纹”,也叫“Audio指纹”
音频指纹技术涉及到的技术原理主要包括音频处理和信号分析,具体的操作通常需要用到浏览器的Web API,例如AudioContext接口。
当用户访问一个网站的时候,网站可以通过以下步骤获取用户设备的音频指纹:
步骤1 创建一个虚拟音频环境
首先,网站需要设置一个浏览器的音频环境来播放和分析音频。在技术上,这是通过创建一个AudioContext对象来完成的。AudioContext是Web Audio API的一部分,它提供了一系列的接口用于音频处理。
步骤2 生成和播放音频
在这个虚拟音频环境中,网站创建一个OscillatorNode,也就是一个虚拟的音频信号源。这个信号源可以播放特定频率和波形的音频信号,但这个信号是无声的,用户是听不到的。
接下来,网站需要生成一段音频并播放它。在技术上,这是通过创建一个OscillatorNode对象来完成的,您可以简单理解成它是一个虚拟的音频信号源。OscillatorNode可以产生特定频率和波形的音频信号,例如正弦波、方波等。这个信号是无声的,用户是听不到的。
网站播放音频的目的就是为了让设备的音频硬件产生一些微小的差异,这些差异可以被用来区分不同的设备。
步骤3 捕获音频数据
当音频播放时,网站需要捕获音频的数据。网站通过创建一个AnalyserNode对象来完成的。AnalyserNode也就是一个虚拟的音频分析器,这个分析器可以捕获并分析音频信号。它就像是在虚拟环境中设置的一个录音设备。
步骤4 分析音频数据
网站需要对捕获的音频数据进行分析,提取出能够反映设备特性的信息。
这个步骤可能涉及到一些复杂的信号处理和统计计算,例如计算音频数据的平均值、方差、峰值等。
步骤5:生成音频指纹
最后,网站将提取的信息转换为一个唯一的标识符,这个标识符反映了用户设备处理音频的特性,可以视为设备的一个音频指纹。
这通常是通过一种哈希函数来完成的,哈希函数可以将任何长度的数据映射到一个固定长度的输出。
使用BrowserScan检测Audio指纹
步骤6:使用音频指纹
通过以上步骤,网站就可以在用户访问网页的过程中,获取到用户设备的音频指纹,而用户本人则无法察觉到这一过程。网站就可以使用音频来跟踪用户。例如,网站可以将音频指纹和用户的其他行为数据关联起来,用于个性化广告、防止网络欺诈等。
如何阻止指纹跟踪
媒体设备指纹技术是通过获取设备上的属性(如类型、标签、ID)生成指纹。音频指纹技术是通过设备播放音频的特性来生成指纹。
想要阻止这类指纹的跟踪,最好是使用“替代方法“去解决,即使用相关工具生成一个新的指纹去替代原来真实设备的指纹。
如果您是使用指纹浏览器,要注意工具里是否有提供此类指纹的选项。
如果您想了解更多的浏览器指纹知识,可以阅读我们为您准备的指纹系列文章: