简单来说,浏览器 Audio 指纹(Audio Fingerprinting) 是一种利用你电脑音频堆栈(Audio Stack)的微小差异,来唯一标识并追踪你的技术。
它不需要在你电脑上存储任何 Cookie,即使你开启了“无痕模式”或更换了 IP 地址,网站依然有很大几率认出“你还是那个你”。
1. 它是如何工作的?
Audio 指纹并不是通过麦克风录音(它不需要你的录音权限),而是利用 Web Audio API。
其核心原理在于:不同的操作系统、浏览器版本、声卡驱动以及硬件架构,在处理模拟音频信号转换为数字信号的方式上,存在极其细微的差异。
生成过程:
- 静默生成: 浏览器在后台静默生成一个特定的音频正弦波信号(用户听不到声音)。
- 应用处理: 浏览器会对这个信号应用一系列复杂的数学处理,比如动态压缩(Dynamics Compression)或滤波器。
- 计算哈希: 处理后的音频数据会被计算成一个唯一的哈希值(例如:5d36b9...)。
由于硬件和软件链条的复杂性,两个完全不同的用户几乎不可能生成完全相同的音频指纹。
2. 为什么它能用来追踪你?
- 唯一性: 你的声卡硬件偏差、驱动程序版本以及浏览器的音频引擎组合在一起,就像一个独特的“声纹”。
- 持久性: 即使你清除了浏览器缓存、禁用了 Cookie,只要你的硬件和驱动没变,生成的指纹就是固定的。
- 无感化: 整个过程在毫秒内完成,网页不会弹出任何权限请求,用户完全察觉不到。
3. Audio 指纹与 Canvas 指纹的区别
| 特性 | Canvas 指纹 (画布指纹) | Audio 指纹 (音频指纹) |
|---|---|---|
| 依赖媒介 | 显卡、渲染引擎、字体 | 声卡、音频驱动、Web Audio API |
| 隐蔽性 | 高 | 极高(不需要渲染任何图形) |
| 流行程度 | 非常普遍 | 逐渐流行,常作为 Canvas 的补充 |
4. 如何查看你的音频指纹?
如果你想亲眼看看你的浏览器生成的音频指纹,可以访问以下著名的测试网站:
- BrowserLeaks (AudioContext Test): 这是一个非常专业的工具,它会展示你的音频样本、动力学压缩后的波形以及最终的哈希值。
- AmIUnique / Cover Your Tracks: 这些网站会告诉你你的浏览器指纹在互联网上有多“稀有”。
AbcFinger是如何解决 Audio 指纹问题?
只需要勾选以下图片中的选项,即可随机 Audio 指纹。
